def send_analogdata(data): print("Send Data =", data) lora.frame_counter = lora.frame_counter + 1 c = CayenneLPP() c.addAnalogInput(1, lora.frame_counter) c.addAnalogInput(2, myl) c.addAnalogOutput(1, data) #c.addTemperature(1, 23.5) # Add temperature read to channel 1 # c.addAnalogInput(1,lora.frame_counter) #c.addTemperature(2, 22.7) # Add another temperature read to channel 2 #c.addRelativeHumidity(3, 88.5) # Add relative humidity read to channel 3 frame = c.getBuffer() # Get bytes #Send data packet lora.send_data(frame, len(frame), lora.frame_counter) print(lora.frame_counter) display.fill(0) display.text('Sent LPP Data to Lora!', 0, 0, 1) display.text('Sending ' + str(data) + " / " + str(lora.frame_counter), 0, 15, 1) print('Data sent!') display.show() time.sleep(10) display.fill(0)
def get_drone_data(self): payload = CayenneLPP() gps = self.vehicle.location.global_relative_frame imu = self.vehicle.raw_imu ned = self.vehicle.location.local_frame attitude = self.vehicle.attitude payload.addGPS(1, gps.lat, gps.lon, gps.alt) payload.addGyrometer(3, imu.xgyro, imu.ygyro, imu.zgyro) payload.addAccelerometer(5, imu.xacc, imu.yacc, imu.zacc) payload.addNED(7, ned.north, ned.east, ned.down) payload.addAttitude(9, attitude.pitch, attitude.yaw, attitude.roll) print("------------") print(gps) print(ned) print(imu) print(attitude) print("------------") cayenne_format_payload = binascii.hexlify( payload.getBuffer()).decode('utf8') print(cayenne_format_payload) return cayenne_format_payload
def send_all_pi_data(temp, cpu, ram, myl): print("Send all Pi Data =", str(temp)) lora.frame_counter = lora.frame_counter + 1 c = CayenneLPP() c.addAnalogInput(1, lora.frame_counter) c.addAnalogInput(2, myl) c.addTemperature(1, temp) c.addAnalogOutput(1, cpu) c.addAnalogOutput(1, ram) frame = c.getBuffer() # Get bytes #Send data packet lora.send_data(frame, len(frame), lora.frame_counter) print("lora frame counter", lora.frame_counter) display.fill(0) display.text('Sent LPP Data to Lora!', 0, 0, 1) display.text('temp,cpu,ram t=' + str(temp), 0, 10, 1) display.text('lora frame = ' + str(lora.frame_counter), 0, 20, 1) print('Data All Pi sent!') display.show() time.sleep(10)
d.text(str(s.eCO2), 70, 30) d.text('TVOC ppb', 0, 40) d.text(str(s.tVOC), 70, 40) d.show() time.sleep(3) c = CayenneLPP() c.addTemperature(1, float(temp)) # Add temperature read to channel 1 c.addRelativeHumidity( 2, float(hum)) # Add relative humidity read to channel 2 c.addBarometricPressure(3, float(pa)) c.addLuminosity(4, s.eCO2) c.addLuminosity(5, s.tVOC) #cno=len(ubinascii.hexlify(c.getBuffer())) b = (ubinascii.hexlify(c.getBuffer())) #cno=len(b) print('---------Send Status------------') print("AT+NMGS={0},{1}\r\n".format(int(len(b) / 2), (b.decode('utf-8')))) uart.write("AT+NMGS={0},{1}\r\n".format(int(len(b) / 2), (b.decode('utf-8')))) p = ure.search('FRMPayload:(.+?) \r\n', uart.read().decode('utf-8')) try: print(p.group(1)) pgroup = (p.group(1)) except AttributeError: pgroup = "" print('Not found Downlink Packet') if pgroup == " aa bb cc":
count = 1 while True: print("\r\n\r\nPacket No #{}".format(count)) pot_value = pot.read() percent = 100 - (100 * (pot_value - WaterValue) / (AirValue - WaterValue)) print(" Soil Moisture (%):" + str(percent)) percentT = str(round(percent, 2)) print("Round Soil Moisture to 2 digid(%):" + percentT) oled.clear() oled.show_text(0, 0, "#", 24) oled.show_text(10, 0, str(count), 24) oled.show_text(30, 24, percentT, 24) oled.show_text(78, 24, "% ", 24) oled.show() c = CayenneLPP() c.addAnalogInput(1, round(percent, 2)) b = ubinascii.hexlify(c.getBuffer()) print("************ Sending Data Status **************") led.value(1) ATresp = sendATcommand("AT+NMGS={0},{1}".format( int(len(b.decode("utf-8")) / 2), (ubinascii.hexlify(c.getBuffer())).decode("utf-8"), )) print("********Finish Sending & Receiving Data Status******") led.value(0) count = count + 1 time.sleep(10.0)
print('Air Quality PM2.5: {}, PM10: {}'.format(pm25, pm10)) # make the socket blocking # (waits for the data to be sent and for the 2 receive windows to expire) s.setblocking(True) # send some data c = CayenneLPP() c.addAnalogOutput(2, acc.pitch()) c.addAnalogOutput(25, pm25) c.addAnalogOutput(10, pm10) # Check if GPS data was found if coords[0] is not None: coords = gps.coordinates() if coords[0] is not None and coords[1] is not None: c.addGPS(5, coords[0], coords[1], 0) s.send(bytes(c.getBuffer())) print('SENT') # make the socket non-blocking # (because if there's no data received it will block forever...) s.setblocking(False) # every 10 seconds i want it to blink # get any data received (if any...) data = s.recv(64) print(data) print(coords) now = utime.time() print('It has been {} seconds since last GPS check.'.format(now - check_gps))