Things used in this project

Hardware components:
Linkitsmart7688
MediaTek Labs The MediaTek LinkIt™ Smart 7688 platform
×1
11026 02
Jumper wires (generic)
×1
Gus 1719
C.H.I.P. Approved 3.7 V LiPo Battery
×1
RFM69CW
Any EBAY module
×1
solar panel
solar panel from Alibaba
×1
Software apps and online services:
Python Flask
Node.JS
Hand tools and fabrication machines:
Tweezers
Hot air rework station
09507 01
Soldering iron (generic)
Solder paste

Custom parts and enclosures

Step file of the mote
Step file of the energy harvesting mote
wsn_YALqVKUanc.STEP

Schematics

Board schmatics
PIC MCU schematic
Sch mcu 1j6vscczuk
Energy harvester IC
Sch bq25570 bihl6ct6kj
Radio schematic
radio schematic and layout file used on the hub side
rfm69_EazwKR8clV.brd

Code

Linkit HubArduino
Linkit Duo RFM69CW radio aggregator. Collects sensor data from nodes and send it to linkit duo serial port.
#include "rfm69.h"
#include <SPI.h>

#define SERIAL_BAUD 115200
#define SERIAL_BAUD1 57600

#define NODEID      1
#define NETWORKID   100

char data[32];                      //data buffer for receive mode

  
void setup() {

Serial.begin(SERIAL_BAUD);
Serial1.begin(SERIAL_BAUD);
while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  
Serial.println("RFM69CW LINKITDUO gateway");
Serial.print("=============RFM69CW Test============ \r\n");
Serial1.println("RFM69CW LINKITDUO gateway");
Serial1.print("=============RFM69CW Test============ \r\n");


delay(100);
rfm69_reset();
delay(100);

char ok = rfm69_init();    

   if (!ok) {
        Serial.println("RFM69 init failed!\n");
        Serial1.println("RFM69 init failed!\n");
    } else {
        Serial.println("RFM69 init ok\n");
        Serial1.println("RFM69 init ok\n");
        //rfm69_dumpRegisters();
        
        // init RF module and put it to sleep
        rfm69_sleep();

        // set output power
        rfm69_setPowerDBm(10); // +10 dBm
        // enable CSMA/CA algorithm
        rfm69_setCSMA(false);
        //(void) rfm69_setAESEncryption((void*) "sampleEncryptKey", 16);
        rfm69_setAutoReadRSSI(true);
        rfm69_setPowerLevel(5); // max 31
        
        rfm69_setMode(RFM69_MODE_RX); // Unmodulated carrier
        rfm69_dumpRegisters();

    }
}

void loop() 
        {
            if (rfm69_init()) {

                memset(data, 0, sizeof(data));
                uint8_t len = rfm69_receive(data, sizeof(data));
                if (len > 0) {
                    int rssi = rfm69_getRSSI();
                    Serial.println("Sleep..\r\n");
                    rfm69_sleep();
                    Serial.print("Received number of bytes :");
                    Serial.println(len, DEC);
                    Serial1.print("Received number of bytes :");
                    Serial1.println(len, DEC);
                    
                    for ( int i=0; i<len; i++) 
                    {
                        Serial.println(data[i], DEC);
                        Serial1.println(data[i], DEC);
                    }
                        Serial.print('[');
                        Serial.print(rssi, DEC);
                        Serial.println(']');

                        Serial1.print('[');
                        Serial1.print(rssi, DEC);
                        Serial1.println(']');
						
                }
            }else
            {
               Serial.println("Radio was not initialized properly.\r\n");
               Serial1.println("Radio was not initialized properly.\r\n");
               delay(5000);
            }
        }
Garden sensors dashboard with Linkit DUO
Code and schematics.

Credits

5f6d42b1c3309b2560dc8d48b9f071dd
Dimiter Kendri

Blah blah blah yatzeeee...

Contact

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Linkit One: Blowing an LED
Intermediate
  • 954
  • 27

Full instructions

In this tutorial I Will show you how to turn on an led with your mouth. The Led will turn on when start to blow the sound sensor.

Linkit One: Water Level Indicator
Intermediate
  • 1,063
  • 26

In this project we will learn on making water level indicator using linkit one. This project could help you save water more efficiently.

Understanding LinkIt ONE ScanNetworks
Intermediate
  • 899
  • 18

Protip

I found a sketch called "ScanNetworks" in the LWiFi library and decided to give it a try.

Vertical Hydroponic Farm
Intermediate
  • 30,774
  • 197

Work in progress

IoT Enabled Hydroponic Farm

Creating the Tweeting Viking Hat
Intermediate
  • 1,003
  • 20

Full instructions

I made a tweeting viking hat to show off that anyone could hear iBeacons.

Home Smart Home
Intermediate
  • 39,045
  • 152

Full instructions

Smart home system using MediaTek Linkit, Xbee, Arduino, Orange PI and Azure

Add projectSign up / Login