I am starting up a new use case of collecting temperature and humidity data using:
Raspberry Pi 3 Model B+
Power supply 5.25 v 2.5amp
Modem Type: Hologram Nova US 4G LTE Cat-M1 Cellular USB Modem (R410).
I’ve set up the SDK using ```
$ curl -L hologram.io/python-install | bash
$ curl -L hologram.io/python-update | bash
sudo modprobe option
sudo sh -c ‘echo -n 05c6 90b2 > /sys/bus/usb-serial/drivers/option1/new_id’
Disabled NB-IoT with AT+URAT=7
$ sudo hologram modem signal
Signal strength: 17,99
Running:
#!/usr/bin/python
import sys
import Adafruit_DHT
import time
import requests
import json
sys.path.append(“.”)
sys.path.append(“…”)
sys.path.append(“…/…”)
from Hologram.HologramCloud import HologramCloud
while True:
humidity, temperature = Adafruit_DHT.read_retry(22, 4)
data = {'humidity':humidity,'temperature':temperature}
json_data = json.dumps(data)
#send data to Hologram
if __name__ == "__main__":
print "Testing Hologram Cloud class..."
hologram = HologramCloud(dict(), network='cellular')
print 'Cloud type: ' + str(hologram)
recv = hologram.sendMessage(json_data,
topics = ['Temperature'],
timeout = 3)
print 'RESPONSE MESSAGE: ' + hologram.getResultString(recv)
print(humidity,temperature)
print 'Temp: {0:0.1f} C Humidity: {1:0.1f} %'.format(temperature, humidity)
time.sleep(10)
This code runs successfully outputting data 1 to 3 loops, and then the connection drops;
RESPONSE MESSAGE: Message sent successfully
(95.5, 27.299999237060547)
Temp: 27.3 C Humidity: 95.5 %
Testing Hologram Cloud class…
Cloud type: HologramCloud
Traceback (most recent call last):
File “Hologram/DHT_Hologram/dht_hologram.py”, line 40, in
timeout = 5)
File “/usr/local/lib/python2.7/dist-packages/Hologram/HologramCloud.py”, line 112, in sendMessage
result = super(HologramCloud, self).sendMessage(output, timeout)
File “/usr/local/lib/python2.7/dist-packages/Hologram/CustomCloud.py”, line 71, in sendMessage
self.open_send_socket(timeout=timeout)
File “/usr/local/lib/python2.7/dist-packages/Hologram/CustomCloud.py”, line 113, in open_send_socket
self.network.connect_socket(self.send_host, self.send_port)
File “/usr/local/lib/python2.7/dist-packages/Hologram/Network/Cellular.py”, line 118, in connect_socket
self.modem.connect_socket(host, port)
File “/usr/local/lib/python2.7/dist-packages/Hologram/Network/Modem/NovaM.py”, line 85, in connect_socket
raise NetworkError(‘Failed to connect socket’)
Exceptions.HologramError.NetworkError: Failed to connect socket
or Exceptions.HologramError.SerialError: Unable to detect a usable serial port
Follows is a the results of a port check script.
sudo python portcheck.py
PORT NAME: /dev/ttyUSB1 DESCRIPTION: Qualcomm CDMA Technologies MSM HWID: USB VID:PID=05C6:90B2 SER=1371f915 LOCATION=1-1.1.3
PORT NAME: /dev/ttyUSB0 DESCRIPTION: Qualcomm CDMA Technologies MSM HWID: USB VID:PID=05C6:90B2 SER=1371f915 LOCATION=1-1.1.3
PORT NAME: /dev/ttyAMA0 DESCRIPTION: ttyAMA0 HWID: 3f201000.serial
This seems to be a new issue with this modem, as I have had more reliable results with an identical setup (which is in a remote application right now)
Any suggestions on how I can troubleshoot or monitor the process with debug schema I would appreciate any ideas.