# * UART, RX ,UART_RX Pin 7 # * UART, TX ,UART_TX Pin 8 import ifroglab import time import serial def Fun_CRC(data): crc = 0 for i in data: crc = crc ^ i return crc LoRa = ifroglab.LoRa() # 打開Port print("Open Port, FunLora_init()") ser = LoRa.FunLora_init() #讀取F/W版本及Chip ID print("Get Firmware Version, FunLora_0_GetChipID()") LoRa.FunLora_0_GetChipID() # 重置 & 初始化 print("Init, FunLora_1_Init()") LoRa.FunLora_1_Init() # 讀取設定狀態 print("\n[4]:FunLora_2_ReadSetup")
def Fun_main(): LoRa = ifroglab.LoRa() # 打開Port print("Open Port, FunLora_init()") ser = LoRa.FunLora_init() #讀取F/W版本及Chip ID print("Get Firmware Version, FunLora_0_GetChipID()") LoRa.FunLora_0_GetChipID() # 重置 & 初始化 print("Init, FunLora_1_Init()") LoRa.FunLora_1_Init() # 讀取設定狀態 print("\n[4]:FunLora_2_ReadSetup") LoRa.FunLora_2_ReadSetup() # 設定寫入和頻段 print("\n[7]:FunLora_3_TX") LoRa.FunLora_3_TX() #寫入資料:通知大家,Gateway 啟動了 print("\n[10]:FunLora_5_write16bytesArray") LoRa.FunLora_5_write16bytesArray("D:iFL,G:S") # 設定讀取和頻段 print("\n[7]:FunLora_3_RX") LoRa.FunLora_3_RX() #讀取資料 print("\n[8]:FunLora_6_read") data = LoRa.FunLora_6_read() if len(data) > 5: print("data[3]=%s, Hex->%s" % (data[3], data[3].encode('hex'))) print("data[4]=%s, Hex->%s" % (data[4], data[4].encode('hex'))) print("data[5]=%s, Hex->%s" % (data[5], data[5].encode('hex'))) for t1 in range(60 * 60 * 8): data = LoRa.FunLora_6_read() if len(data) > 4: print("data[3]=%s, Hex->%s" % (data[3], data[3].encode('hex'))) print("data[4]=%s, Hex->%s" % (data[4], data[4].encode('hex'))) x1 = (int(data[3].encode('hex'), 16) * 256) + int( data[4].encode('hex'), 16) urlData = "localhost/AjaxIoT.php?action=insertByAPIKey&KeyName=x&Data=%d&Datatype=1&APIKey=iloveifroglab" % x1 Fun_HTTPGet("127.0.0.1", urlData) # 上傳資料 y1 = (int(data[5].encode('hex'), 16) * 256) + int( data[6].encode('hex'), 16) urlData = "localhost/AjaxIoT.php?action=insertByAPIKey&KeyName=y&Data=%d&Datatype=1&APIKey=iloveifroglab" % y1 Fun_HTTPGet("127.0.0.1", urlData) # 上傳資料 z1 = (int(data[7].encode('hex'), 16) * 256) + int( data[8].encode('hex'), 16) urlData = "localhost/AjaxIoT.php?action=insertByAPIKey&KeyName=z&Data=%d&Datatype=1&APIKey=iloveifroglab" % z1 Fun_HTTPGet("127.0.0.1", urlData) # 上傳資料 #http://localhost/ICBlock/web/AjaxIoT.php?action=insertByAPIKey&KeyName=y&Data=3&Datatype=1&APIKey=iloveifroglab time.sleep(1) # 關閉 LoRa.FunLora_close() ser.close()
import serial import os import ifroglab from time import sleep, clock os.system('sudo chmod a+rw /dev/ttyUSB0')##set lora os.system('sudo chmod a+rw /dev/ttyACM0')## set arduino LoRa2 = ifroglab.LoRa() ser_arduino = serial.Serial("/dev/ttyACM0",9600,timeout = 0.5) #Open port print("Open port") ser_lora = LoRa2.FunLora_initByName("/dev/ttyUSB0") #Read firmware version print("Get firmware version") LoRa2.FunLora_0_GetChipID() #Reset and Init print("Reset & Init") LoRa2.FunLora_1_Init() #Read setup print("Read setup") LoRa2.FunLora_2_ReadSetup() LoRa2.FunLora_3_TX() while True: #tic = clock()
def Fun_main(frequency): float_frequency = float(frequency) print(frequency) LoRa = ifroglab.LoRa() # 打開Port print("Open Port, FunLora_init()") ser = LoRa.FunLora_init() #讀取F/W版本及Chip ID print("Get Firmware Version, FunLora_0_GetChipID()") LoRa.FunLora_0_GetChipID() # 重置 & 初始化 print("Init, FunLora_1_Init()") LoRa.FunLora_1_Init() # 讀取設定狀態 print("\n[4]:FunLora_2_ReadSetup") LoRa.FunLora_2_ReadSetup() # 設定寫入和頻段 print("\n[7]:FunLora_3_TX") LoRa.FunLora_3_TX2(float_frequency) #寫入資料:通知大家,Gateway 啟動了 print("\n[10]:FunLora_5_write16bytesArray") LoRa.FunLora_5_write16bytesArray("D:iFL,G:S") # 設定讀取和頻段 print("\n[7]:FunLora_3_RX") LoRa.FunLora_3_RX2(float_frequency) #讀取資料 print("\n[8]:FunLora_6_read") try: while True: # IDs2=UpdatePoints(value,IDs2) # 請整到實際的工作秒數 # ptint(t1) data = LoRa.FunLora_6_read() # print(data) len1 = len(data) #print(len1) if len1 > 4: HexString = LoRa.FunArrayToHexStringKeepPureData(data) mqtt = " mosquitto_pub -d -t ifroglab/mqtt -m '%s' -h 'iot.eclipse.org' " % ( HexString) # mqtt=" mosquitto_pub -d -t ifroglab/mqtt -m '%s' -h test.mosquitto.org"%(HexString); # mqtt=" mosquitto_pub -d -t ifroglab/mqtt -m '%d "%(data); print(mqtt) print os.popen(mqtt).read() for t1 in range(0, len1 - 3): #print("data[%s]=%s, Hex->%s"%(t1,data[t1+3],data[t1+3].encode('hex'))) x1 = (int(data[t1 + 3].encode('hex'), 16)) urlData = "/AjaxIoT.php?action=insertByAPIKey&KeyName=%s&Data=%d&Datatype=1&APIKey=iloveifroglab" % ( t1, x1) #print(urlData) Fun_HTTPGet("127.0.0.1", urlData) # 上傳資料 time.sleep(5) #break; #time.sleep(10) except: print("quit") # 關閉 LoRa.FunLora_close() ser.close() print("cose port.")