Oyster LoRaWAN GPS Tracker

Fra IoTwiki
Skift til: navigering, søgning
Info
Produktnavn Oyster LoRaWAN GPS Tracker
Sensortype
Modelnavn Oyster LoRaWAN Long-Life Battery GPS Tracker
Producent Digital Matter
Kort beskrivelse GPS tracker til flådestryring
Netværk LoRaWAN
Dokumentation http://digitalmatter.com/OYSTER-LoRa-BATTERY-GPS-TRACKER
Producentens hjemmeside http://digitalmatter.com
Anvendes i projekterne

Beskrivelse

Erfaringer, tips & tricks

Konfiguration

Konfiguration fremgår af denne korrespondence med Digital Matter

 1.	What App EUI should I assign to the devices? Please use your own AppEUI. 
2. Can I use the 3 default 868 channels, or do you need a special setup? The defaults will be 868.1, 868.3, and 868.5 MHz YES
3. What min/max spreading factors can I choose? Our default is min=10, max=12. OK
4. What sort of device behaviour would you like? For testing, we normally ship with:
a. Out of trip, GPS fix and send every 24 hours
b. In trip (detects accelerometer movement):
i. Fix and send on start OK
ii. Fix and send every 10 min please - use 5 min
iii. Fix and send on end (5 min of stationary). OK

Svar til digitalmatter.com vedr. server og gateways:

 Gateways are Kerlink with version 3.17 firmware
Loriot-server set up:
Base and model: Kerlink iBTS
Concentrator: SPIO iBTS 868
Frequency: EU868_Semtech

Ingen intern hukommelse

The internal memory is only used for configuration, and not for storing points. The device has no real way to confirm the transmission of messages (because downlinks are quite expensive), so it just sends them as they are generated. If they are not heard by the network, they are lost.

Deviceinfo

Ligger nu under _83_kommunens_driftsmidler_og_inventar.oyster_lorawan_gps_tracker_devices

Dekodning

Herunder ses SQL som decoder data fra Oyster GPS når det er kommet fra Loriot. Lavet ud fra denne dokumentation for dekodning af payload.
Det er vigtigt at:

  • vælge data fra port 1, da det kun er her positioner m.m kommer ind.
  • frasorterer Adeunis test GPSer
CREATE OR REPLACE VIEW loriot.oyster_test AS
 SELECT row_number() OVER () AS gid,
    st_setsrid(st_makepoint(
    	hex_to_int(
    		concat(
    			"substring"(gps.data, 15, 2), 
    			"substring"(gps.data, 13, 2), 
    			"substring"(gps.data, 11, 2), 
    			"substring"(gps.data, 9, 2))::character varying)::double precision / 10000000::double precision, 
    	hex_to_int(
    		concat(
    			"substring"(gps.data, 7, 2), 
    			"substring"(gps.data, 5, 2), 
    			"substring"(gps.data, 3, 2), 
    			"substring"(gps.data, 1, 2))::character varying)::double precision / 10000000::double precision
    ), 4326)::geometry(Point,4326) AS the_geom,
    "left"(hex_to_int("substring"(gps.data, 17, 2)::character varying)::bit(8)::text, 6)::bit(6)::integer::numeric * 5.625 AS heading,
    "right"(hex_to_int("substring"(gps.data, 17, 2)::character varying)::bit(8)::text, 1)::bit(6)::int::boolean AS in_trip,
    substring(hex_to_int("substring"(gps.data, 17, 2)::character varying)::bit(8)::text, 7, 1)::bit(6)::int::boolean AS last_fix_fail,
    hex_to_int("substring"(gps.data, 19, 2)::character varying) AS speed,
    hex_to_int("substring"(gps.data, 21, 2)::character varying) * 25 AS milivolt,
    timezone('Europe/Berlin'::text, to_timestamp((date_part('epoch'::text, gps.ts) / 1000::double precision)::integer::double precision)) AS ts,
    gps.eui
   FROM loriot.gps            --Fra sorterer Adeunis test GPSer                            Husk port så det rigtige payload kommer ud
  WHERE gps.eui::text not in('0018B20000001313', '0018B2000000130C') AND gps.cmd::text = 'rx'::text and gps.port = 1;