In this IoT project, we are Monitoring Temperature, Light Intensity and control the home appliances such as air conditioner and light over the internet ThingSpeak cloud using EDGE Artix 7 FPGA kit.
Home owners will be able to receive feedback status of the room temperature and dark level continuously on mobile and they can control the AC and light over the internet from anywhere in world
Edge Artix 7 FPGA development board
FPGA having on chip XADC which converts analog signal of Temperature and LCD data to digital signal. These signals are send to thingspeak cloud through ESP8266 WIFI module.
Create the Thingspeak channel if you don’t have.
We have created four thingspeak channel that includes field 1,field 2,field 3 and field 4 with respect to Temperature Reading, light level reading, Relay1 output and Relay 2 output. The actual data obtained from the sensor data will be first stored in a script and then the thingspeak server will automatically plots the data on the page
Here, two relays are used to control the home appliances such as Air conditioner and Lamp connected.
There is an app called virtuno which is used to monitor the sensor data and to control the relays. The mobile app picture is showed in the picture below.
The relay will be controlled by the on/off switch in the mobile app. And also, you can see the status of the relay on the Thingspeak cloud.
AT commands to communicate
We have to program FPGA for ESP8266-12F to send the required AT commands and to establish a connection between the FPGA and thingspeak server.
Thingspeak.com provides the 16 digit unique API key which helps to get the data from our thingspeak cloud.
we have used multiple AT commands to establish connection between system and thingspeak server. Those are given below
AT+CWJAP=”WIFINAME”,”Password” Enter your wifiname and wifipassword to connect the ESP8266-12F wifi module which is present in FPGA board to internet.
AT+CIPSTART=”TCP”,”18.104.22.168″,80 Connecting to TCT IP Address of Thingspeak.com
AT+CIPSEND=60 Prepare to send 60 letter of words to thingspeak
GET /update?api_key=FB6J33O4FKR6V8OC&field1=000&field2=000 This URL used to update the Temperature sensor data in field1 and LDR output data in field2
AT+CIPSEND=69 Prepare to send 69 letter of words to thingspeak
GET https://api.thingspeak.com/channels/384072/feeds.json?results=1 Using this URL FPGA board reads the data from the cloud to control the two relays
List of I/O ports and its description
|Clk_in||50Mhz clock input|
|Pb||logic signal which, when active, resets the system|
|RxD||WIFI reception data line|
|TxD||WIFI transmission data line|
|VAUXP6||Positive analog input 6|
|VAUXN6||Negative analog input 6|
|VAUXP7||Positive analog input 7|
|VAUXN7||Negative analog input 7|
|VAUXP14||Positive analog input 14|
|VAUXN14||Negative analog input 14|
|VAUXP15||Positive analog input15|
|VAUXN15||Negative analog input15|
|REALY1||First relay output|
|REALY2||Second relay output|
|LED(1:0)||State transfer LED output|
Project Demo on EDGE Artix 7 FPGA kit
- EDGE Artix 7 FPGA Development Board₹ 11,750