Skip to content

Firmware for a smart garden plot, based on a HTCC-AB01 LoRa board

License

Notifications You must be signed in to change notification settings

StarGate01/smartfield-firmware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smartfield-firmware

Firmware for a smart garden plot, based on a HTCC-AB01 LoRa board.

Hardware overview

Development setup

Install Visual Studio Code and the PlatformIO extension.

Copy include/NetworkConfiguration.h.example to include/NetworkConfiguration.h and insert your The Things Network configuration.

Edit the platformio.ini file and change the board_build.arduino.lorawan.region to the correct frequency band for your country.

Attach a serial monitor and read the Device EUI after a reset. Then set the device EUI in the TTN console, use OTAA and MAC 1.0.2 .

Use the PlatformIO menu to compile and upload the code.

Payload Formatter

function decodeInt16(bytes, offset)
{
  return (((bytes[offset + 1] & 0xFF) << 8) | (bytes[offset] & 0xFF));
}

function decodeFloat32(bytes, offset)
{
  var d = new DataView(new ArrayBuffer(4));
  for(var i=0; i<4; i++) d.setUint8(i, bytes[offset + i]);
  return d.getFloat32(0, true);
}

function decodeUplink(input) 
{
  return {
    data: {
      bytes: input.bytes,
      id: input.bytes[0],
      battery: decodeInt16(input.bytes, 1),
      temperature: decodeFloat32(input.bytes, 3),
      humidity: decodeFloat32(input.bytes, 7),
      soilTemperature: decodeFloat32(input.bytes, 11),
      soilHumidity: decodeFloat32(input.bytes, 15)
    },
    warnings: [],
    errors: []
  };
}

About

Firmware for a smart garden plot, based on a HTCC-AB01 LoRa board

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages