elif tickDuration < 15000: state = STATE_CLEAR_SD # Format the SD card else: state = STATE_NORMAL pin = Pin('P10', mode=Pin.IN, pull=Pin.PULL_UP) pin.callback(Pin.IRQ_RISING | Pin.IRQ_FALLING, pin_handler) # SD card stuff sd = None try: sd = SD() os.mount(sd, '/sd') except: print("No SD card") if sd != None: print("SD mounted") # The main loop while True: if state == STATE_NORMAL: pass elif state == STATE_TX_DATA: # Send data via USB to computer
''' SD card test for the CC3200 based boards. ''' from machine import SD import os mch = os.uname().machine if 'LaunchPad' in mch: sd_pins = ('GP16', 'GP17', 'GP15') elif 'WiPy' in mch: sd_pins = ('GP10', 'GP11', 'GP15') else: raise Exception('Board not supported!') sd = SD(pins=sd_pins) print(sd) sd.deinit() print(sd) sd.init(sd_pins) print(sd) sd = SD(0, pins=sd_pins) sd = SD(id=0, pins=sd_pins) sd = SD(0, sd_pins) # check for memory leaks for i in range(0, 1000): sd = sd = SD(0, pins=sd_pins) # next ones should raise
trame = trame + delimiteur + str(poids_en_gr) timestr = time.localtime() #on met un timestamp sur la trame timestr = str(timestr) trame = delimiteur + timestr + trame + "\n" i = i + 1 if carte_sd: flashWriteData(trame) print(trame) if configuration == 106: # ON VA CONFIGURER LE RX il y a 0 capteurs sur le RX; il y a six capteurs sur le TX; la trame reçue fait 37 octets : 1 [label] + 1 [numero_trame] +1 [T]+24 [6 long]+10 delimiteur octet_par_trame = 37 lora = LoRa(mode=LoRa.LORA, frequency=863000000) s = socket.socket(socket.AF_LORA, socket.SOCK_RAW) s.setblocking(False) if carte_sd: sd = SD() os.mount(sd, '/sd') while s.recv(128) == True: trame_ch = s.recv( 128 ) # trame=delimiteur+label+delimiteur+ lecture_capteur_1+delimiteur+lecture_capteur_2+delimiteur+lecture_capteur_3+delimiteur+lecture_capteur_4+delimiteur+lecture_capteur_5+delimiteur+lecture_capteur_6+delimiteur+t+delimiteur+numero_trame+delimiteur trame_ch = trame_ch.decode( 'utf-8') #sinon pbs compatibilité avec binaire? trame = trame_ch.split( delimiteur ) #on vire le delimiteur et on met les data dans une liste lecture_capteur = [] poids_en_gr_distant_total = 0 if trame[ 1] == label: #vérification octet premier pour controle destinataire, et controle n° trame pour prendre une seule mesure
def sd_setup(): try: sd = SD() os.mount(sd, '/sd') print("SD card mounted") # try: # os.remove('/sd/www/leader_mesh_list.txt') # except: # print('did not delete') try: f = open('/sd/www/ack_log.txt', 'r') print("Already a ACK log, trimmed to last 50 ACKs") acks = f.readlines() f.close() os.remove('/sd/www/ack_log.txt') n = open('/sd/www/ack_log.txt', 'w+') for i in acks[-50:]: n.write(i) n.close() except: try: os.mkdir('/sd/www') f = open('/sd/www/ack_log.txt', 'w+') f.write("ACK log:\n") except: f = open('/sd/www/ack_log.txt', 'w+') f.write("ACK log:\n") print("ACK Log created") f.close() try: f = open('/sd/www/status_log.txt', 'r') print("Already a status log, trimmed to last 50 entries.") status = f.readlines() f.close() os.remove('/sd/www/status_log.txt') n = open('/sd/www/status_log.txt', 'w+') for i in status[-50:]: n.write(i) n.close() except: try: os.mkdir('/sd/www') f = open('/sd/www/status_log.txt', 'w+') f.write("Status log:\n") except: f = open('/sd/www/status_log.txt', 'w+') f.write("Status log:\n") print("Status Log created") f.close() try: f = open('/sd/www/chat.txt', 'r') print("Already a chat log, trimmed to last 50 entries.") chats = f.readlines() f.close() os.remove('/sd/www/chat.txt') n = open('/sd/www/chat.txt', 'w+') for i in chats[-50:]: n.write(i) n.close() except: try: os.mkdir('/sd/www') f = open('/sd/www/chat.txt', 'w+') f.write("Chat log:\n") except: f = open('/sd/www/chat.txt', 'w+') f.write("Chat log:\n") print("chat Log created") f.close() try: f = open('/sd/www/wschat.html', 'r') print("Chat is on SD card") c = open('/flash/www/wschat.html', 'r') count_of_f = len(f.read()) count_of_c = len(c.read()) f.close() c.close() print("Check if wschat has changed") if count_of_c != count_of_f: os.remove('/sd/www/wschat.html') copy('/flash/www/wschat.html', '/sd/www/wschat.html') print("Copied new wshchat") except: copy('/flash/www/wschat.html', '/sd/www/wschat.html') print("WSChat now on SD card") try: f = open('/sd/www/index.html', 'r') c = open('/flash/www/index.html', 'r') count_of_f = len(f.read()) count_of_c = len(c.read()) c.close() f.close() print("Did the index change?") if count_of_c != count_of_f: os.remove('/sd/www/index.html') copy('/flash/www/index.html', '/sd/www/index.html') print("copied new index") except: copy('/flash/www/index.html', '/sd/www/index.html') print("Index now on SD card") try: f = open('/sd/www/style.css', 'r') print("Style is already on SD card") f.close() except: copy('/flash/www/style.css', '/sd/www/style.css') print("Style now on SD card") try: print("Check Node Config status") f = open('/sd/www/node_config.txt', 'r') f.close() print("Node Config is on SD Card") except: try: os.mkdir('/sd/www') copy('/flash/node_config.txt', '/sd/www/node_config.txt') print("Node config is now on SD card") except: copy('/flash/node_config.txt', '/sd/www/node_config.txt') print("Node config is now on SD card") # try: # print("Check Pymesh Config status") # f = open('/sd/www/pymesh_config.json', 'r') # f.close() # print("Pymesh Config is on SD Card") # # # except: # copy('/flash/pymesh_config.json', '/sd/www/pymesh_config.json') # print("Pymesh config is now on SD card") try: print("Check Leader Mesh list status") f = open('/sd/www/leader_mesh_list.txt', 'r') f.close() print("Leader Mesh list is on SD Card") except: copy('/flash/lib/leader_mesh_list.txt', '/sd/www/leader_mesh_list.txt') print("Leader Mesh list is now on SD card") try: f = open('/sd/www/sms.txt', 'r') print("Already a SMS log, trimmed to last 50 SMSs") sms = f.readlines() f.close() os.remove('/sd/www/sms.txt') n = open('/sd/www/sms.txt', 'w+') for i in sms[-50:]: if i != '\r\n': n.write(i) n.close() except: try: os.mkdir('/sd/www') f = open('/sd/www/sms.txt', 'w+') f.write("SMS log:\n") except: f = open('/sd/www/sms.txt', 'w+') f.write("SMS log:\n") print("SMS Log created") f.close() except: print("SD card not loaded, chat not saved")