3

I'm trying to build a smart thermostat for a particular application. I have the following design criteria and goals for the system:

  • Must be able to set up and monitor the device from either a mobile phone or local network device.
  • No go on Ethernet or other hardwired connection, except for initial setup. This must be a wireless solution. I'm presuming WiFi is best.
  • Needs a clock, an on time and an off time setting.
  • The system does a system time verification check once daily.
  • Needs a temperature input.
  • Needs to run an existing heater system (24v) thru a relay.
  • 120v AC power (battery backup not required.)
  • Needs to be "hidden" in existing wall as much as possible. (i.e. small & compact) My intent is to hide the unit behind a double wide electrical duplex dead panel. (i.e. 4" x 4" nominal access thru drywall)

Here's a visual of my design intent package:Thermostat Design Package

As I review a number of different hardware controller devices, I can see some issues. I am very familiar with the Intel Edison, and I know exactly how to do this project there, including using the controller as a stand alone web host. (The Edison uses Yocto Linux to create a node.js server using http module.) I was hoping to save a few $$ on hardware using an alternative controller but not sure that will work. I've been wading thru the code for both the Photon and generic Arduino devices, and I'm getting the impression that I may need a custom server / api tool for a web page interface. Its not clear that those hardware choices will support an interactive web page, particularly for easy user data update via browser Submit button. That's not a big problem, I'm a freelance software developer, handy in C/C++/Java, PHP and JavaScript. And as for the Raspberry Pi, I have no experience but the pricing on some of their boards is below $15.

Here are my questions:

  • Has anybody used an Arduino board to host an interactive web page, including user input via Submit / Form ? (Can I declare a local network static IP address for an Arduino?)
  • Has anybody used an Particle Photon board to host an interactive web page, including user input via Submit / Form? (It looks like declaring a local network static IP address on a Photon is anything but easy...)
  • Has anybody written an API Restful server for their Arduino, with both get and put functionality? (I'm thinking PHP, or node.js makes the most sense for me.) I know if I have to use Dynamic IP addressing to the controller, that I can always make an API system work for the system.
  • Other comments?
zipzit
  • 135
  • 4

2 Answers2

2

Has anybody used an Arduino board to host an interactive web page, including user input via Submit / Form ?

I have a Tiny Web Server for the Arduino. It is designed to be light-weight on RAM. It supports GET/POST/Cookies for interacting with web forms.

Arduino web form

Example code and more information on the linked page above.


(Can I declare a local network static IP address for an Arduino?)

Yes.


Other comments?

You could use NRF24L01 modules for short-range communication of wireless information. I have example code and schematics. My tests seemed to indicate 20m range was achievable.

Nick Gammon
  • 38,901
  • 13
  • 69
  • 125
2

Have you looked at the Adafruit Huzzah boards? It's small, inexpensive ($10), comes with wireless capability and a 10-bit ADC for a temperature sensor. If you'll have access to the Internet, then you could use NTP to get time.

dlu
  • 1,661
  • 2
  • 15
  • 29