Начальная обработка прочих типов маяков.
authorRoman Bazalevskiy <rvb@rvb.name>
Tue, 7 Aug 2018 10:23:08 +0000 (13:23 +0300)
committerRoman Bazalevskiy <rvb@rvb.name>
Tue, 7 Aug 2018 10:23:08 +0000 (13:23 +0300)
mqtt-bt/scan-beacons

index 4f2a01cd31ed4ddb90ee4919a6ec3538cd3fd8a1..a574f664249410ca789b671eefe37233a21e2779 100644 (file)
@@ -119,10 +119,14 @@ function process_packet(packet)
   if type=='iBeacon' then
     details=uuid
   elseif name then
   if type=='iBeacon' then
     details=uuid
   elseif name then
-    type="name"
+    if not(type) then
+      type="name"
+    end  
     details=name
   else
     details=name
   else
-    type='unknown'
+    if not type then 
+      type='unknown'
+    end  
     details=mac
   end
 
     details=mac
   end
 
@@ -185,15 +189,21 @@ function read_loop()
             value=split(value)[1]
           end
           packet[name]=value
             value=split(value)[1]
           end
           packet[name]=value
+        elseif #t==1 and name then
+          if not(packet[name..'.list']) then
+            packet[name..'.list']={}
+          end  
+          table.insert(packet[name..'.list'],(trim(t[1])))
         end  
       end  
 
       if starts(str,'> HCI Event: LE Meta Event (0x3e)') then
         inbound=true
         end  
       end  
 
       if starts(str,'> HCI Event: LE Meta Event (0x3e)') then
         inbound=true
+        name=nil
       elseif starts(str,'RSSI:') then
         inbound=false
         process_packet(packet)
       elseif starts(str,'RSSI:') then
         inbound=false
         process_packet(packet)
-        packet={}  
+        packet={}
       end
       
     end  
       end
       
     end