Sponsored Content
Top Forums Programming NB-IoT Arduino Shield from AIS (Thailand) First Impressions Post 303042754 by Neo on Sunday 5th of January 2020 11:07:20 PM
Old 01-06-2020
Yesterday we spent the day out in the car with the AIS NB-IoT device attached to my MacBook Air; looking at the serial monitor via USB and also recording messages back in the USA on my simple Python UDP server.

The bottom line is that this device is good for locating AIS cell towers :wink: :wink: because it only worked when a tower with AIS NB-Iot support was visible (within line-of-site).

This means that this device seems to only work when it is very close to a cell tower and very close to direct line-of-site.

This also explains why this 900 MHz range device works on my sea-side balcony. There is a cell tower in our line-of-site on that balcony, only a few hundred meters away..

However, on the rear balcony, the AIS-NB-IoT device will not connect to the AIS network, and, as expected, there is no cell tower within line-of-site.

When driving around the countryside in Thailand, this device only "worked" when there was an AIS cell tower which supported NB-IoT in near direct line-of-site.

My best rough guess, driving from our condo next to the sea in Jomtien Beach to Hardware House (picking up electrical supplies) in the country side, Rayong province and back (using two different routes), is that this AIS NB-IoT device connected successful to the AIS network approximately 70% of the time. This is just a rough guess because I was driving the car and my wife was looking at the computer, calling out the RSSI readouts and connection status. She really liked that part, I think!

Note to AIS Network Engineers: AIS NB-IoT device would not connect to AIS NB-IoT network at Hardware House in Rayong (or in that important area).

We experienced mixed results with the NB-IoT shield working as it went in and out of network coverage. Sometimes the device did not require a reboot to reconnect after losing the signal, sometimes it did require a reboot to reconnect.

To write code to properly mitigate this (connection management code), I would need the technical parameters from AIS for the network regarding connection timeouts (and other parameters) on their end; but since I only have the specification for the device (the BC95) and not the AIS NB-IoT network.

I have already reached out and sent an email to AIS for this basic timeout value.

Quote:
Dear AIS AIAP,

What is the timeout value for a connection to the AIS NB-IoT network from a device after a connection has been established and a message not received from the device?

Thanks!
Waiting on a reply ...

Soon, I think I will test LoRaWAN including LoRaWAN gateways and devices. More on this later.
 

6 More Discussions You Might Find Interesting

1. Solaris

java shield

dear experts i want to install java install shield on solaris but first i want to read more information and help about it can anyone gives me some links or guids that helps me (0 Replies)
Discussion started by: murad.jaber
0 Replies

2. 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

3. 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

4. Programming

Arduino Project with NB-IoT (3GPP) and LoRa / LoRaWAN

My favorite projects are always related to the "latest" tech in command and control, networking and network communications. This Elecrow GSM/GPRS/EDGE SIM5360E 3G Shield seems to be the "latest and the greatest" as far as 3G and GPS, as far as I can see so far, but I has it drawbacks for sure.... (6 Replies)
Discussion started by: Neo
6 Replies

5. Programming

Elecrow GSM/GPRS/EDGE SIM5360E 3G Shield for Arduino

Normally I have very good experiences buying from AliExpress, but in this case with Elecrow, I'm disappointed. After confirming with Elecrow on AliExpress that their Elecrow GSM/GPRS/EDGE SIM5360E 3G Shield for Arduino would work with 3G SIM cards in Thailand, I purchased one. My plan was to... (1 Reply)
Discussion started by: Neo
1 Replies

6. 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
GPSDECODE(1)							GPSD Documentation						      GPSDECODE(1)

NAME
gpsdecode - decode GPS, RTCM or AIS streams into a readable format SYNOPSIS
gpsdecode [-c] [-d] [-e] [-j] [-t typelist] [-u] [-v] [-D debuglevel] [-V] DESCRIPTION
This tool is a batch-mode decoder for NMEA and various binary packet formats associated with GPS, AIS, and differential-correction services. It produces a JSON dump on standard output from binary on standard input. The JSON is the same format documented in gpsd(8); this tool uses the same decoding logic as gpsd, but with a simpler interface intended for batch processing of data files. All sensor-input formats known to the GPSD project can be decoded by this tool. These include: NMEA, AIVDM (the NMEA-derived sentence format used by AIS, the marine Automatic Identification System), RTCM2, and all supported GPS binary formats (notably including SiRF). See gpsd(8) for applicable standards and known limitations of the decoding logic. You can use this tool with nc(1) to examine AIS feeds from AIS pooling services, RTCM feeds from RTCM receivers or NTRIP broadcasters. OPTIONS
The -d option tells the program to decode packets presented on standard input to standard output. This is the default behavior. The -j explicitly sets the output dump format to JSON (the default behavior). The -e option option tells the program to encode JSON on standard input to JSON on standard output. This option is only useful for regression-testing of the JSON dumping and parsing code. The -t accepts a comma-separated list of numeric types. Packets with a numeric AIS, RTCM2, or RTCM3 type are passed through and output only if they match a type in the list. Packets of other kinds (in particular GPS packets) are passed through unconditionally. The -u suppresses scaling of AIS data to float quantities and text expansion of numeric codes. A dump with this option is lossless. The -v enables dumping of textual packets to output as they are received on input, immediately preceding corresponding output. The -c sets the AIS dump format to separate fields with an ASCII pipe symbol. Fields are dumped in the order they occur in the AIS packet. Numerics are not scaled (-u is forced). Strings are unpacked from six-bit to full ASCII The -V option directs the program to emit its version number, then exit. The -D option sets a debug verbosity level. It is mainly of interest to developers. AIS DSV FORMAT
With the -c option, dump lines are values of AIS payload fields, pipe-separated, in the order that they occur in the payload. Spans of fields expressing a date are emitted as an ISO8601 timestamp (look for colons and the trailing Z indicating Zulu/UTC time), and the 19-bit group of TDMA status fields found at the end of message types 1-4 are are dumped as a single unsigned integer (in hex preceded by "0x"). Unused regional-authority fields are also dumped (in hex preceded by "0x"). Variable-length binary fields are dumped as an integer bit length, followed by a colon, followed by a hex dump. SEE ALSO
gpsd(8), gpsctl(1), gpsdctl(8), gps(1), libgps(3), libgpsd(3), gpsprof(1), gpsfake(1), AUTHOR
Eric S. Raymond esr@thyrsus.com. The GPSD Project 13 Jul 2005 GPSDECODE(1)
All times are GMT -4. The time now is 03:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy