@@ -108,11 +108,11 @@ def kbhit():
108
108
return False
109
109
110
110
111
-
111
+ #key must be a bytes array
112
112
def extract_data (key , results ):
113
113
key_result_pair = ''
114
114
if key in results .keys ():
115
- key_result_pair = ",%s,%s" % (key , str ( results [key ]))
115
+ key_result_pair = ",%s,%s" % (key . decode () , results [key ]. decode ( ))
116
116
return key_result_pair
117
117
118
118
@@ -124,7 +124,7 @@ def write_logfile(logfilename, msg):
124
124
logfile .close ()
125
125
except IOError as e :
126
126
print (e )
127
-
127
+
128
128
def record_filename (loctime ):
129
129
#th_week = int ( time.strftime('%W', loctime) ) + 1
130
130
iso = datetime .date .fromtimestamp (time .time ()).isocalendar ()
@@ -143,8 +143,8 @@ def ftp_upload(filename, host, user, password, dest_dir):
143
143
ftp .quit ()
144
144
return msg
145
145
146
-
147
-
146
+
147
+
148
148
#### Main Program begins here ####
149
149
last_log_dict = {}
150
150
node = 'none'
@@ -198,24 +198,25 @@ def ftp_upload(filename, host, user, password, dest_dir):
198
198
else :
199
199
time .sleep (0.05 )
200
200
continue
201
-
201
+
202
202
line = line_raw [:- 2 ]
203
203
#print line
204
204
loctime = time .localtime (time .time ())
205
205
zeit = time .strftime ('%a,%d.%m.%Y,%H:%M:%S' , loctime )
206
206
is_a_valid_packet = True
207
-
208
- node = ''
209
-
210
- lst = line .split ("," )
207
+
208
+ node = b''
209
+
210
+ lst = line .split (b"," )
211
+ #print(lst)
211
212
# old style message format
212
213
if len (lst ) > 3 :
213
214
node = lst [1 ]
214
215
token = lst [2 ].split ('=' )
215
216
if len (token ) > 1 :
216
217
rssi = float (token [1 ])
217
218
else : # protocol error
218
- print (line )
219
+ print (line . decode () )
219
220
continue
220
221
#msg = lst[3].split(':')[1]
221
222
msg = lst [3 ].split (':' )
@@ -226,17 +227,17 @@ def ftp_upload(filename, host, user, password, dest_dir):
226
227
continue
227
228
res_str = "%s,n,%s,s,%.1f" % (zeit , node , rssi )
228
229
if len (lst ) > 4 :
229
- feistr = lst [4 ].split ('=' )
230
+ feistr = lst [4 ].split (b '=' )
230
231
if len (feistr ) > 1 :
231
232
fei = int (feistr [1 ])
232
233
res_str = res_str + ",a,%i" % (fei )
233
234
else :
234
235
pass
235
-
236
+
236
237
payload = msg .split (';' )[:- 1 ] # strip off the last ''
237
238
datalen = len (payload )
238
-
239
-
239
+
240
+
240
241
if "OK" in payload [0 ]:
241
242
is_a_valid_packet = True
242
243
if datalen > 1 :
@@ -256,68 +257,69 @@ def ftp_upload(filename, host, user, password, dest_dir):
256
257
res_str = "%s,f,%x" % (res_str , flags )
257
258
else :
258
259
is_a_valid_packet = False
259
-
260
260
261
- if int (node ) in list_of_nodes :
261
+
262
+ if int (node ) in list_of_nodes :
262
263
last_log_dict [node ] = res_str
263
264
last_log = open (tmp_verzeichnis + last_log_filename ,'w' )
264
265
for key in last_log_dict :
265
266
last_log .write (last_log_dict [key ] + '\n ' )
266
267
last_log .close ()
267
- #ftp_upload(fn, '192.168.0.16', 'pi', 'andreas', '/var/tmp')
268
+ #ftp_upload(fn, '192.168.0.16', 'pi', 'andreas', '/var/tmp')
268
269
269
270
270
271
271
272
272
- #TiNo 2.0 and later
273
- else :
273
+ #TiNo 2.0 and later
274
+ else :
274
275
try :
275
- lst = line .split (' ' )
276
+ lst = line .split (b ' ' )
276
277
if len (lst ) > 1 :
277
- node = lst [0 ]
278
- items = lst [1 ].split ('&' )
278
+ node = lst [0 ]. decode ()
279
+ items = lst [1 ].split (b '&' )
279
280
results .clear ()
280
281
for param in items :
281
- param_value_Pair = param .split ('=' )
282
+ param_value_Pair = param .split (b '=' )
282
283
#print param_value_Pair
283
284
if len (param_value_Pair ) > 1 :
284
285
results [param_value_Pair [0 ]] = param_value_Pair [1 ]
285
-
286
+
286
287
#res_str = "%s,n,%s,s,%.1f" % (zeit, node, float(results['rssi'])/10)
287
-
288
+
288
289
res_str = "%s,n,%s" % (zeit , node )
289
-
290
- if 'rssi' in results .keys ():
291
- res_str += ",s,%.1f" % (float (results ['rssi' ])/ 10 )
290
+ #print (results.keys())
291
+ if b 'rssi' in results .keys ():
292
+ res_str += ",s,%.1f" % (float (results [b 'rssi' ])/ 10 )
292
293
else :
293
294
res_str += ",s,"
294
-
295
+
295
296
fei_str = ''
296
- if 'fo' in results .keys ():
297
- fei_str = ',a,' + results ['fo' ]
298
-
299
- if 'f' in results .keys ():
300
- flags = int (results ['f' ],16 )
297
+ if b 'fo' in results .keys ():
298
+ fei_str = ',a,' + results [b 'fo' ]
299
+
300
+ if b 'f' in results .keys ():
301
+ flags = int (results [b 'f' ],16 )
301
302
else :
302
303
is_a_valid_packet = False
303
- print (line )
304
+ print (line .decode ())
305
+ #print("line is a invalid packet")
304
306
continue # string does not contain a flag byte ==> invalid
305
-
306
- hum_str = ''
307
- if 'h' in results .keys ():
308
- hum = float (results ['h' ])/ 100.0
307
+
308
+ hum_str = b ''
309
+ if b 'h' in results .keys ():
310
+ hum = float (results [b 'h' ])/ 100.0
309
311
hum_str = ",h,%.1f" % (hum )
310
- res_str = "%s%s%s%s%s%s%s%s" % (res_str ,
312
+ res_str = "%s%s%s%s%s%s%s%s" % (res_str ,
311
313
fei_str ,
312
- #extract_data('fo', results),
313
- extract_data ('v' , results ),
314
- extract_data ('c' , results ),
315
- extract_data ('t' , results ),
314
+ #extract_data(b 'fo', results),
315
+ extract_data (b 'v' , results ),
316
+ extract_data (b 'c' , results ),
317
+ extract_data (b 't' , results ),
316
318
hum_str ,
317
- #extract_data('h', results),
318
- extract_data ('p' , results ),
319
- extract_data ('f' , results ))
320
-
319
+ #extract_data(b 'h', results),
320
+ extract_data (b 'p' , results ),
321
+ extract_data (b 'f' , results ))
322
+
321
323
if int (node ) in list_of_nodes :
322
324
last_log_dict [node ] = res_str
323
325
last_log = open (tmp_verzeichnis + last_log_filename ,'w' )
@@ -326,21 +328,21 @@ def ftp_upload(filename, host, user, password, dest_dir):
326
328
last_log .close ()
327
329
except :
328
330
is_a_valid_packet = False
329
- print (line )
330
- # print (sys.exc_info())
331
+ print (line . decode () )
332
+ print (sys .exc_info ())
331
333
continue
332
-
334
+
333
335
334
336
if node is not '' :
335
- if int (node ) > 0 :
337
+ if int (node ) > 0 :
336
338
print (res_str )
337
-
339
+
338
340
if int (node ) in list_of_nodes and is_a_valid_packet :
339
- print (line_raw )
341
+ print (line_raw . decode () )
340
342
write_logfile (record_filename (loctime ), res_str )
341
343
elif int (node ) > 0 :
342
344
write_logfile (tmp_verzeichnis + errorlogfile , res_str )
343
345
344
-
345
346
346
-
347
+
348
+
0 commit comments