All Projects → horack → Esp8266_arduino_temperature_nodes

horack / Esp8266_arduino_temperature_nodes

Allows a NodeMCU module to be used to capture/display/serve temperature information - uses OLED display and DHT or Dallas type temp sensors

Labels

Projects that are alternatives of or similar to Esp8266 arduino temperature nodes

Darm
A desktop arm that can write and draw.
Stars: ✭ 38 (-13.64%)
Mutual labels:  arduino
Esp8266 Rtc Memory
Code for the YouTube video
Stars: ✭ 40 (-9.09%)
Mutual labels:  arduino
Arduinocore K210
Seeed code for the Kendryte K210 SoC on Arduino
Stars: ✭ 42 (-4.55%)
Mutual labels:  arduino
Pulsesensorstarterproject
The Best Way to Get Started with your PulseSensor and Arduino
Stars: ✭ 38 (-13.64%)
Mutual labels:  arduino
Arduino Tachometer
Arduino car tachometer
Stars: ✭ 39 (-11.36%)
Mutual labels:  arduino
Fram mb85rc i2c
Arduino library for I2C FRAM - Fujitsu MB85RC & Cypress FM24, CY15B
Stars: ✭ 41 (-6.82%)
Mutual labels:  arduino
Wifi ducky
Upload, save and run keystroke injection payloads with an ESP8266 + ATMEGA32U4
Stars: ✭ 991 (+2152.27%)
Mutual labels:  arduino
Esp8266
connecting the Arduino Micro to the ESP8266
Stars: ✭ 42 (-4.55%)
Mutual labels:  arduino
Deskmate
A tiny MQTT-powered dashboard and control center.
Stars: ✭ 39 (-11.36%)
Mutual labels:  arduino
Usb Keystroke Injector
☠️ An Arduino-based USB keyboard simulator which injects keystrokes via Bluetooth protocol or predefined payloads in a SD card.
Stars: ✭ 42 (-4.55%)
Mutual labels:  arduino
Arduino Rgb Tools
A arduino library with tools for controlling an RGB-LED
Stars: ✭ 37 (-15.91%)
Mutual labels:  arduino
Esprfremote
Sketch to use an ESP mit Arduino as a RF remote for chap-ass power outlets (BH9938)
Stars: ✭ 39 (-11.36%)
Mutual labels:  arduino
Microgranny2
Stars: ✭ 41 (-6.82%)
Mutual labels:  arduino
Hydroponic Automation
A program to monitor and control 8 variables of a hydroponic gardening system
Stars: ✭ 38 (-13.64%)
Mutual labels:  arduino
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+20509.09%)
Mutual labels:  arduino
True artificial intelligence
真AI人工智能
Stars: ✭ 38 (-13.64%)
Mutual labels:  arduino
Pixeltime
An animated weather clock that is easy to make
Stars: ✭ 41 (-6.82%)
Mutual labels:  arduino
Hass Yaap
Yet another alarm (control) panel for Home Assistant.
Stars: ✭ 44 (+0%)
Mutual labels:  arduino
Esp8266 Relay
Relay control from a web page using the ESP8266 chip
Stars: ✭ 42 (-4.55%)
Mutual labels:  arduino
Wattuino
Arduino compatible Boards and Modules based on Microchip ARM and AVR Microcontroller
Stars: ✭ 41 (-6.82%)
Mutual labels:  arduino

esp8266_arduino_temperature_nodes

Allows a NodeMCU ESP8266 module to be used to capture/display/serve temperature information - uses OLED display and DHT or Dallas type temp sensors

NOTE: I am posting this here for my own as well as for others' benefit. It is my first github public repository. It is also my first foray into the fun and exciting world of ESP8266. Like most of you, I have a job and a family so I may not have a lot of spare time to update this. Having said that, I hope others find some use for this code. Note that I probably snagged bits and pieces of functions from other public places. I have tried, best as I can, to go over and provide references/links in the code to the places where I got the info from. Some similarities to other code might be coincidental, but if it looks too familiar, it's possible I missed a place where I should have provided a link so let me know and I'll fix it.

This piece of code does potentially interesting things like:

  • Accepts and processes HTTP requests.
  • Makes HTTP requests to other nodes.
  • Makes UDP requests to and parses data from NPT time servers.
  • Reads DHT11, DHT22 and Dallas DS temperature sensors.
  • Displays data to a 128X64 OLED display (optional)
  • Displays data to an ILI9341 TFT touch display optional, and no touch functionality implemented yet)
  • Uses ArduinoOTA so that it can be code updated wirelessly.
  • Sets up static IP address for ESP8266 node.

Please read through all the code, especially the comments, for information on how to set up some of the functionality and how to connect the hardware. It is important to set up the proper IP. Afterwards, if you start programming the devices wirelessly, make sure you're set up for the right IP in code define as well as the remote PORT you're programming to.

This has been written for the ESP8266 Arduino environment. Note that some variants of the libraries need to be ESP8266 specific. I have tried to add URLs to thos libraries. For sure you also have to set up your Arduino IDE menu -> Preferences-> Additional Board Managers URLs to "http://arduino.esp8266.com/stable/package_esp8266com_index.json" so that you can code for ESP8266. The Board I selected after that is "NodeMCU 1.0 (ESP=12E Module)". Also note that I've had issues with some NODEMCU modules not programming at any baud rate higher than 115200 but others (that looked identical) from another seller worked up to 921600. Once you get OTA working and you can program wirelessly, baud rate is not an issue. Currently I have also started seeing the module stop waiting for SSID connection after an program upload, and even resetting won't get it to move past that point. The only option is to disconnect/reconnect the USB power.

A little info on hardware: I am using an I2C OLED 128x64 OLED display with an SSD1306 chip. I have also added support for an ILI9341 TFT touch screen display. Look at the comments to enable/disable display options and to find out how to hook up the hardware. Both flavors of display can be powered from the NODEMCU's 3.3V pins. Currently, you can have both types of display connected at the same time and the display functions will just mirror the output to both of them. Note that the code can be used w/o any display since you can see your temperature data through a browser. Just point the browser to the appropriate IP and port 8484. To get a simple data string that's easy to parse, you can add a "/data" to your URL. You can even remote reboot the module by sending a "/reset" to the URL.

Good luck to those who wish to replicate this project. Let me know if you run into any gotchas, especially if you solve them, so I can add to the documentaion for anybody else that may follow in your footsteps.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].