Sponsored Content
Top Forums Programming Arduino Project with NB-IoT (3GPP) and LoRa / LoRaWAN Post 303042605 by Neo on Wednesday 1st of January 2020 06:15:51 AM
Old 01-01-2020
According to the NB-IoT Arduino device (library) I just ordered, after it is registered with AIS (the service provider), we can send UDP messages to any server we choose; so while waiting for this device to arrive, here is the test code I will use on a server:



Code:
python$ cat test_nbiot.py

"""
NB-IoT First Test Code
Listens on a port for UDP, simple authentication, echo back with unix time
Neo www.unix.com  1 Jan 2020 
Use and modify as you like.  
"""
import socket
import sys
import time

# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
port = 33313
# Bind the socket to the port
server_address = ('www.mytestserver.com', port)
print >>sys.stderr, 'starting up on %s port %s' % server_address
sock.bind(server_address)
password = "my_cool_password\n"
authenticated = False
receivepw = False

while True:
    print >>sys.stderr, '\nwaiting to receive message'
    data, address = sock.recvfrom(4096)

    print >>sys.stderr, 'received %s bytes from %s' % (len(data), address)
    print >>sys.stderr, data

    if data:
        if authenticated == False and receivepw == False:
            sent = sock.sendto("Password:\n", address)
            receivepw = True
        elif receivepw == True and authenticated == False:
            if data == password:
                sent = sock.sendto("Authenticated\n", address)
                authenticated = True
            else:
                sent = sock.sendto("Password:\n", address)
        elif authenticated == True:
            received = "You sent: " + data
            sent = sock.sendto(received, address)
            data = time.time()
            data = "Unix Time: " + str(data)+"\n"
            sent = sock.sendto(data, address)
        else:
            sent = sock.sendto("Error\n", address)

        print >>sys.stderr, 'sent %s bytes back to %s' % (sent, address)

So, after I get that simple python code working with the incoming NB-IoT Arduino shield in the mail, will be time to start prototyping on the board.

REF:

Code:
https://github.com/AIS-DeviceInnovation/AIS_NB_BC95

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Use The Terminal To Test Arduino Is Working.

Hi all... (Apologies for any typos at all.) This is a step by step _script_ to check if your Arduino is talking to your Linux or Macbook Pro computer using the Terminal... It works on at least 3 Linux flavours and now the Macbook Pro... I hope you find it useful as a simple check for... (0 Replies)
Discussion started by: wisecracker
0 Replies

2. OS X (Apple)

Arduino Diecimila Board Access...

This is a very simple starter DEMO to access Arduino Diecimila Board for the Macbook Pro 13" OSX 10.7.5... A potentiometer is connected between 5V and Gnd with the wiper connected to ANALOG IN 0 on the Arduino. This was adjusted to give the Ms and Ls as seen... I now have DC in for this... (0 Replies)
Discussion started by: wisecracker
0 Replies

3. OS X (Apple)

Semi-Automatic Arduino Detection.

I am working on a semi-auto detection idea for Arduino for the Scope project. It does require a little user intervention but minimal. It works by just responding to two on screen prompts to unplug and plug Arduino into a USB port. There are two versions and both work perfectly well and give... (3 Replies)
Discussion started by: wisecracker
3 Replies

4. Programming

Arduino-cli - Uploading to Unknown Chinese Arduino Boards using the Arduino Command Line Interface

In my further exploration of Arduino, today I decided to install the arduino-cli on my mac today. https://github.com/arduino/arduino-cli I followed the instructions for macOS but when I got to this part: arduino-cli board list I got the dreaded "Unknown" Fully Qualified Board Name... (1 Reply)
Discussion started by: Neo
1 Replies

5. Programming

More Arduino Stuff...

HI all... (Apologies for any typos.) To add to Neo's Arduino subject matter I have decided to upload this in ".zip" format. Ignore "*.info" files these are AMIGA icons only and also the "HAM" drawer as these are photos in ancient AMIGA HAM modes. I have noticed that there are current... (6 Replies)
Discussion started by: wisecracker
6 Replies

6. Programming

Arduino UNIX Time - Syncing Computer UNIX Time to Arduino Time with Python

Just finished a quick Python script to send the current unix time over to the Arduino from macOS, so in the absence of GPS or some other way to get the unix timestamp (epoch time) to the Arduino, I can get my macOS and Arduino UNO synced to within a second. Normally, when the Arduino starts... (9 Replies)
Discussion started by: Neo
9 Replies

7. Programming

NB-IoT Arduino Shield from AIS (Thailand) First Impressions

Today I received my NB-IoT Arduino Shield for AIS (Thailand). Here is a "pinout" photo of the shield. My shield looks just like the one above, for the most part. I'll post another photo of the actual device later. When I received the shield in the mail, I went immediately to a local... (8 Replies)
Discussion started by: Neo
8 Replies

8. Programming

LoRaWAN, Dragino LG308 Gateway, and MicroPython - Quick Thoughts

Yesterday I had a chance to enjoy testing LoRaWAN with the owner of the M2M Shop who was kind enough to drive three hours down the seacoast to set up and test the Dragino LoRaWAN LG308 gateway operating on AS923MHz in Thailand. Ahead of K. Somsak's visit, he had asked me to install Thonny,... (0 Replies)
Discussion started by: Neo
0 Replies

9. Programming

Arduino Project: iPhone to HM-10 BLE to NB-IoT Shield to NB-IoT Network to Internet to Linux Server

This post describes a "work in progress" project I started today. Here is the High Level Overview: Currently, this project sits on my desk as an Arduino UNO (on the bottom), an NB-IoT Shield (sandwiched in the middle), a Sensor Shield (on top) with a HM-10 BLE Module (in the little... (13 Replies)
Discussion started by: Neo
13 Replies

10. Hardware

Arduino Robot Tank Project

Normally I'm not into kits, but I thought my wife would enjoy this one since she is a big fan of robots and droids on StarWars! We are done with the basic mechanical assembly and starting on the electronics assembly today. The robot's "brain" consists of three levels. The Arduino board, on... (5 Replies)
Discussion started by: Neo
5 Replies
WWW::Freshmeat::Project(3pm)				User Contributed Perl Documentation			      WWW::Freshmeat::Project(3pm)

NAME
WWW::Freshmeat::Project - retrieve project information WWW::Freshmeat::Project methods The "WWW::Freshmeat::Project" object provides some of the fields from the freshmeat.net entry through the following methods url_project_page URL of project page on Freshmeat url_homepage deprecated projectname_full desc_short desc_full license trove_id Removed. projectname_short www_freshmeat Additionally, it provides the following "higher-level" methods: name description Return either "projectname_full" (respectively "desc_full") or "projectname_short" (respectively "desc_short") if the former is empty. version Returns the version of the latest release. url Removed. "url_homepage" returns a freshmeat.net URL that redirects to the actual project's home page. This url() method tries to follow the redirection and returns the actual homepage URL if it can be found, or the URL to the freshmeat.net entry for the project. branches Removed. List of branches for project. Returns hash in form of (branch id => branch name). popularity Removed. Freshmeat popularity data for project. Returns hash with keys record_hits, url_hits, subscribers url_list Removed. url_list1 Returns list of URLs for project. Each URL is a WWW::Freshmeat::Project::URL object. real_author Removed. Returns name of author (not maintainer). release_date Removed. Returns date of latest release. maintainers Removed. Returns list of names of maintainers. 1; perl v5.14.2 2012-03-05 WWW::Freshmeat::Project(3pm)
All times are GMT -4. The time now is 12:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy