Category Archives: Uncategorized

Sending WiSense sensor node data to the cloud (ThingSpeak.com)

This week we sent data from bunch of WiSense sensor nodes to the thingSpeak cloud platform. The wireless sensor nodes were registered to a WiSense network coordinator (WSN1120CL) which in turn was connected to a Windows laptop running our gateway application (a C program running under Cygwin).

“ThingSpeak” is an IOT analytics platform that allows the collection,storage, visualization and analysis of sensor data in the cloud. You can create a free “ThingSpeak” account which  limits the per channel data streaming (upload) rate of once every 15 seconds.

The WiSense gateway app (which can be run a Linux system or under Cygwin on a Windows machine) sends data to the “Thingspeak” platform when run with the “mon_ts” command line argument instead of the usual “mon” command.

prompt> ./gw.exe    / dev/ttyS9   mon_ts

Note that each WiSense sensor node is permanently identified by it’s 64 bit extended address which looks like “0xfc:0xc2:0x3d:0x00:0x00:0x1e:0xd0:0x40”. This is an IEEE assigned globally unique id.

We decided to create a separate “ThingSpeak” channel for each WiSense sensor node.

“Channels store all the data that a ThingSpeak application collects. Each channel includes eight fields that can hold any type of data, plus three fields for location data and one for status data. Once you collect data in a channel, you can use “ThingSpeak” apps to analyze and visualize it.”

Each “Thingspeak” channel can have up to 8 sensor data fields. We map each sensor  (on a  WiSense sensor node) to a separate field. A free “Thingspeak” account accepts channel data once every 15 seconds only.

We use a text file named “ts.txt” to associate a WiSense sensor output (each having a unique 8 byte extended address) to its corresponding field in a “Thingspeak” channel.  The WiSense gateway app reads and parses the “ts.txt” file when run with the “mon_ts” argument. When this app receives sensor data from any sensor node in the attached WiSense LPMWN (low power wireless mesh network), it looks up this table for a  matching row and if found, sends the sensor data to the ThingSpeak cloud using the HTTP “POST” method specifying the channel API key and field.

The mapping table below is the actual “ts.txt” used in our setup.

<$<  fc:c2:3d:00:00:00:db:40     NCT4JOQR1ZI5DEHB       013    field1   >$>
<$<  fc:c2:3d:00:00:02:b9:9b     4WZBK65FZNTO6JWS     013    field1   >$>
<$<  fc:c2:3d:00:00:10:82:97     XXTNNZSMAZQKMIL5    009    field1   >$>
<$<  fc:c2:3d:00:00:11:1a:ea     ZBT7N4IKJKCND80L        120    field1   >$>
<$<  fc:c2:3d:00:00:11:1a:ea     ZBT7N4IKJKCND80L        009    field2   >$>
<$<  fc:c2:3d:00:00:11:1a:ea     ZBT7N4IKJKCND80L        176    field3   >$>
<$<  fc:c2:3d:00:00:11:1a:ea     ZBT7N4IKJKCND80L        177    field4   >$>

For each unique sensor data stream produced by a WiSense sensor node, there is one row  in the mapping table.

  • The first column is  the 8 byte IEEE assigned  globally unique address of a WiSense sensor node.
  • The second column is the  Write API Key of the associated “ThingSpeak” channel. Note that one “ThingSpeak” channel needs to be created per WiSense sensor node.
  • The third column is the 1 byte device-id of the Sensor output (example – ambient temperature) sent by the WiSense node. Note that if a single sensor has multiple outputs (such as both temperature and relative humidity), then each output will be assigned a separate device id.
  • The  fourth column indicates the channel field assigned to this particular sensor output.

The mapping table shows four different Write API Keys each corresponding to a unique  “ThingSpeak” channel. The last four rows have the same Write API Key and correspond to the 4 different sensor outputs received from the associated WiSense sensor node. Note that each of these four rows has a unique field column.

In the table above, the different sensor output ids are –

  • 013 :  NTC thermistor data (NXFT15XH103  from Murata).
  • 009:  LM75B temperature data (NXP)
  • 120:  MSP430 On chip supply voltage data (TI)
  • 176:  RH data from a CC2D33S sensor  (Amphenol advanced sensors)
  • 177:  Temperature data from a CC2D33S sensor  (Amphenol advanced sensors)

Here is a snapshot of the sensor data visualized by ThingSpeak for one of the sensor nodes with four sensor outputs (the last four rows in the mapping table at the top).

ts_chann_data

 

Here’s a pic of the setup showing a windows laptop running the WiSense gateway app under Cygwin, a WiSense coordinator node connected to the laptop and a WiSense sensor node generating 4 sensor output streams corresponding to the last 4 rows in the mapping table shown above. The laptop is sending data to the ThingSpeak cloud over a WiFi/broadband connection.

wis_ts_pic

 

For more information on our products, please visit wisense.in.

 

 

Ref: https://thingspeak.com/

Advertisements

Wireless Temperature Tag

Albert (our 3D printing expert) is designing enclosures for our wireless temperature sensor tags. We have gone through a few 3D printed versions already.  The enclosure material is ABS.

These tags are suitable for sensing temperature indoors (warehouses, cold chains etc). You can see the sensing element (a thermistor) sticking out of the tags. These tags are powered by two coin cells  (3V CR2032) which can last more  than three years assuming 1 transmission every 5 minutes.  The tags have an internal PCB antenna but also have a  U.Fl connector for an external whip antenna.

The tags operate in the 865-867 MHz license free band in India.

wtn2p1_pic_1

wtn2p1.jpg

 

Please visit wisense.in for more information on our products.

Wireless Temperature Sensor for Cold Storage

 

temp_snsr_node_1

We are currently testing our smallest form factor wireless temperature sensor node.

Dimensions: 50 mm x 50 mm x 10 mm.

Antenna options

  • External whip antenna
  • Internal PCB antenna

The temperature is sensed by a thermistor with 1% tolerance.  Thermistor is visible outside the enclosure

Powered by a single CR2032 coin cell battery with 220 mAh capacity and 3V nominal voltage.

Transmit power of +12 dBm

Operates in the 865-867 MHz license free India band.  Operating at this frequency has the following advantages:

  • This band is mostly free throughout India so very low possibility of interference.
  • 3 times higher range compared to 2.4 GHz (assuming same link budget)
  • Greater penetration through obstacles such as walls etc

The sensor node is  configured to operate as a reduced function device which means that the node is sleeping in low power mode most of the time, only waking up to sense and transmit temperature data if absolutely required. Sleep mode power consumption is less than 2 micro-amps.

Sensor node can send data to a WiSense LPWMN coordinator node (WSN1120CL) directly or indirectly through one or more WiSense LPWMN routers/FFDs (WSN1120L).

Each message from sensor node also reports the battery voltage.

Sensor node can be configured to –

  • Report temperature data at fixed intervals where the reporting interval can be dynamically adjusted from every 1 second to once every day.
  • Report temperature data when temperature drops below or rises above configurable threshold values.
  • Report temperature data only if temperature changes by a configurable percentage or absolute value in deg C.
  • Any combination of the above.
  • Report battery voltage and temperature data if battery voltage falls below configurable threshold.

 

For more information, please visit wisense.in.

WiSense Asset Tagging System using Active RFID Tags

asset_tracking_sys_pic1

 

This is the latest addition to our product line. We are already deploying these at couple of customer facilities (factories).

asset-track

This asset tagging system has these components:

 

Active Tags – Each tag has a radio (sub-GHz or 2.4 GHz) and a tiny micro-controller. It is powered by a 3V Li-Ion coin battery which can last for 7-8 year assuming one beacon transmission per day.  Each transmitted beacon carries the tag’s unique 3 byte hardwired Id.  The tag has a PCB antenna.

Reader-Router Nodes – These nodes pick up the beacons received from all tags in the  vicinity and forward the same to the system gateway. These nodes have two radios each operating on a different frequency.  One radio is always listening for beacons from the active tags and the other radio is used to form a mesh network of router radios. This mesh network is used to forward the beacons and associated information (reader node “Id” and the signal strength of the received beacon) to the system gateway.  The reader-router nodes should be distributed throughout (say a factory) in such a way that each beacon is received by 3 or more nodes. This allows the system to estimate the rough location of each tag using the signal strength information corresponding to each received beacon. These nodes are mains powered with Li-Ion battery backup. A Li-Ion charger IC keeps the battery charged when mains power is available. When mains power is lost, the node gets power from the Li-Ion battery without any interruption.

System Gateway – The gateway is the asset tracking system’s to the external world.  It also maintains the mesh network of router radios.

Tag UI and database – This can be hosted locally or on the cloud.  The database will store all the beacons forwarded to the gateway. The UI shows the location of all tags in real time.

 

For more information, please contact us at rkris@wisense.in.

Roads that honk

WiSense is proud to be associated with the “Roads that honk  project.

More good news  – “India’s sole Innovation shortlist at Cannes Lions 2017 goes to Leo Bunett”.

WiSense low power wireless nodes provide the link between the two poles.  In addition, we designed the main controller PCB inside each pole and helped in the developing the firmware.

Thanks to Rajeev jha (Yuktix) and Shailendra singh for the opportunity to work on this project.

3D printed antenna stand

This week we got a antenna stand 3D printed. The stand keeps our half-wave dipole antennas up right on a flat surface.  The antenna can be snapped in to one of three holders. Useful to have when doing some testing without using an enclosure.

I have some pics of the setup below showing a WSN1120L sensor node connected to an antenna through a U.FL to SMA cable assembly.

Thanks again to Hack Lab for help with the design and printing.

3d_ant_stand_pic_1

 

3d_ant_stand_pic_2

 

3d_ant_stand_pic_3

 

References:

 

For information on our products, please visit wisense.in.

WiSense nodes in the machine shop

Pic below shows a WSN1120L  based sensor node equipped with two float switches and  a temperature sensor for tracking the level and temperature of a CNC machine’s coolant tank.

wsn_coolant_level_temp

 

Pic below shows another WSN1120L based sensor node equipped with an NTC thermistor for measuring motor temperature.

wsn_temp_node

Both the nodes (shown above) run on a pair of AAA  batteries. The WSN1120L wireless sensor  node (in each  case) is  configured to operate as a reduced function device (RFD). The node wakes up periodically (depending on the application), samples the attached sensors, sends data to the network gateway and goes back to sleep.  The battery voltage level is also measured and  reported in every sensor data message sent to the gateway.

All the electronics is protected by a low cost weather proof enclosure.

 

References:

 

For more information on our  products, please  visit wisense.in.

 

GSM/GPRS Modem Board

This week we tested our new Telit GL868-Dual GSM/GPRS board. The GL868-Dual is a dual band 900/1800 MHz GSM/GPRS device.

This board is suitable for providing cloud connectivity to a remote instance of a WiSense wireless mesh network. The board can work directly off a Li-Ion battery which could in turn be charged by a solar panel or even mains AC if available.

This board can be easily interfaced to a Raspberry PI using an USB to serial (RS-232) adapter. The 5V output of the Raspberry PI should be used to power the board’s comm interface (see supply (2) below).

The GL868-Dual board can also be interfaced to an external micro-controller such as the MSP430 on a WSN1120CL coordinator node. The external micro’s supply voltage can be different from the power supply provided to this board. This is possible since this board utilizes voltage translator ICs for all exposed GL868-Dual signals. The external micro’s supply voltage should be used to power the board’s comm interface (see supply (2) below).

The GL868-Dual peak current draw is around 2 Amps.

Interfaces:

  • Power supply (1): 3.8V  to 4.2V  (Allows the board to work directly off a single cell Li-Ion battery) through 4 pin screw less terminal block.
  • Comm interface voltage supply (2) allows board to be interfaced with external micro-controller / R-PI etc through multiple voltage translator ICs. This is independent of the power supply (1) mentioned earlier.
  • Mini-SIM card holder
  • Comm interface:
    • RS-232 (TX/RX) through a  DB-9  connector
    • UART (TX/RX) on 2.54 mm pitch headers.
  • Other exposed GL868-Dual signals (through voltage translator  ICs) on 2.54 mm pitch headers.
    • RESET_M
    • ALARM_M
    • BUZZER_M
    • RFTXMON_M
  • External signal which controls a load switch gating power supply (1) to the GL868-Dual modem.
  • Antenna  connection through u.fl connector.

PCB specs:

  • Layers: 4
  • Dimensions:  69 mm x 82 mm
  • Finish: ENIG
  • Mounting holes: 4
  • All components mounted on top side.

Here is a  pic of the board.

gsm_board_pic

For more information on WiSense  products, please visit wisense.in.

Wireless Soil Moisture Sensor

We got a 3d printed enclosure for our soil moisture sensor thanks to Vikram Rastogi who runs Hacklabs.in  (co-located at Nasscom COE-IOT). This was our first experience with 3d printing and we are happy with the outcome.

The 3d enclosure has two parts. The top part can be screwed on/off the longer bottom part.

The moisture sensor is connected to a WiSense WSN1120L sub-GHz wireless node through 4 wires (2 for power and 2 for the I2C bus).

In the pic below, you can see the soil moisture sensor connected to the WSN1120L mounted inside another weather proof enclosure.

wms_pic_1

Here’s a close-up of the 3d printed enclosure.

wsm_pic_3

Here’s a pic showing  the sensor in action outside Nasscom COE-IOT in Bangalore. The soil moisture data is being  sent (every  5 minutes) to our data collection/visualization application “WiSight” running  on AWS.

wsm_pic_2

Here is a  snapshot of the sensor data from WiSight.

wsms_graph_1

For more information on WiSense products,  please  visit wisense.in.

Solar + Li-Ion Power Supply Unit

This week we started  testing our brand new solar charger PSU design. The solar PSU powers a WiSense WSN1120L node operating in full function device (FFD) mode. FFDs are involved in mesh  routing and therefore need to keep their radio on at all times.  The WSN1120L’s current consumption in this mode is around 31 mA  in normal receive mode and  around 50 mA  when transmitting at +13 dBm.

The solar PSU also supports continuous measurement of the panel voltage and current as well as the battery voltage and current. This data is being sent every 5 minutes to the  cloud. See the graphs at the end.

The  PSU supports panels with voltage output up to 10.5V. The PSU allows charge current of  up to 2 A which allows high capacity Li-Ion batteries to be charged by high wattage panels.

 

sol_li_ion_charger_pic

Test Panel Specs

  • Peak  power: 3  Watts
  • Voltage output at peak power point: 8.5V
  • Current output at peak power point: 300 mA

Test Battery Specs

  • Chemistry:  Single  cell Lithium-Ion Battery
  • Capacity: 1100  mAh
  • Output voltage: 3.7 V  (nominal), 4.2 V (full charge)

Charger PSU Board Specs

  • Max  input voltage:  10.5 V
  • Max charge current: 2  A
  • Max  battery discharge  current: 4 A
  • Li-Ion battery charged in 3 phases (trickle charge,  pre-charge, constant  current and constant voltage).
  • Battery under-voltage lockout supported as load is not connected directly to battery.
  • Charger IC can power the load and charge the battery simultaneously.
  • Multiple output voltages
    • 3.3V  (Max 1 A)
    • 4.9V (Max 50 mA)
    • Li-Ion battery output (Max 4A). This supply is gated by a load switch which can be controlled by a signal external to the PSU (for example – by an external micro-controller).
  • On board  current and  voltage sensors which measure the following  parameters:
    • Solar  panel output voltage (Available over I2C)
    • Solar  panel output current  (Available over I2C)
    • Battery voltage  (Available over I2C)
    • Battery current  (Available over I2C)
  • PCB specs
    • Layers: 4
    • Dimensions:  53 mm x 48 mm
    • Mounting holes:  4
    • Finish:  ENIG

Here is  a pic of  the  setup. You can  see the 3W  panel lying flat and connected to a weather proof enclosure containing the PSU, battery and an WSN1120L. This location is not the best with tall structures/buildings in the vicinity.

solar_psu_pic_1

Snapshot of battery voltage and current (captured from WiSight running on AWS).

li_ion_batt_charge_graph_1

li_ion_batt_charge_graph_2

For more information on our products, please visit wisense.in.