Skip to content

hrytskivr/iot-control-diploma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

iot-control-diploma

In this repository you will find an example IoT control service that will let you control relative humidity level via ESP8266 module and ultrasonic humidifier.

Prerequisites:

  • AWS account (free tier will do just fine)
  • ESP8266 microcontroller NodeMCU v3
  • Ultrasonic humidifier UKC YX025S (KPY-25S)
  • DHT11 humidity/temperature sensor
  • Wirings, relays etc.

How this will work (the high level diagram):

diagram_link_broken-T_T

Set-up instructions:

Disclaimer: this is not a step-by-step instruction, I assume you're familiar with most of the things.

  1. Configure AWS credentials

  2. Prepare Lambda deployment archive

    • Now you need to build, publish and package this project so that the Lambda funciton can be deployed
    • You'll have to execute dotnet publish -c Release command
    • Then zip everything you find in publish folder, see serverless configuration file for expected artifact path
  3. Deploy AWS infrastructure

    • Navigate to serverless folder
    • Execute npm install so that you have required node modules installed
    • If everything went well, you should now have a fresh CloudFormation stack deployed & API Gateway endpoint available
  4. Compose the hardware

    • You have to connect the DHT11 sensor to the controller
    • And the controller itself to the humidifier
    • See schemes at this folder
  5. Configure controller firmware

    • Open controller firmware file in the editor
    • Set the values for NETWORK_NAME & NETWORK_PASS so that the controller can connect to the internet trough the WiFi
    • Set the values for HUMIDITY_UPDATED_ENDPOINT & AWS_FINGERPRINT so that controller know where to send metrics to
    • Compile and flash the firwmare to controller
    • Turn on the controller, set desired_humidity_level in DynamoDB table, and have fun!