An ESP8266 is a WiFi Development Board (used in electronics projects mostly, like for Arduino) that people use for hosting web-based exploits (like the PS4 Jailbreaks) since it allows you to self-host the website on the device itself which is more portable, more reliable, and doesn't require any internet connection.
Basically you flash this exploit host to the board via your PC, then all you have to do is plug it into power via the micro-USB port on the board and then you're able to log into the WiFi network created by the device on your PS4 and run the exploit.
I have had very good luck with the HiLetgo boards from Amazon: https://www.amazon.com/dp/B010O1G1ES
Even though a few have released their magic smoke and no longer work.... let's just say that I was conducting "endurance" testing on them... ya, endurance testing... that was it.
I’m not at home so I won’t be able to send a picture, but here is the link to the exact board I ordered!
HiLetgo 1PC ESP8266 NodeMCU CP2102 ESP-12E Internet WiFi Development Board Open Source Serial Wireless Module Works Great for Arduino IDE/Micropython (Small) https://www.amazon.com/dp/B010O1G1ES/ref=cm_sw_r_cp_api_glt_fabc_54VEJ6THEAF0DZ42T6AF?_encoding=UTF8&psc=1
Okay, you convinced me to try this for my office light project. You also convinced me to switch from BLE (to a single Android phone) to MQTT (multiple publishers and subscribers!).
The HiLetgo on Amazon seems to be well reviewed and is pretty cheap. How easy would something like this be to use? https://www.amazon.com/HiLetgo-Internet-Development-Wireless-Micropython/dp/B010O1G1ES
Also, to turn on the computer, I have to close a circuit. I could send a signal through one pin, but I'm scared that sending the wrong current could fry my motherboard, so I want to just physically close the circuit. Is there a module that when a pulse is sent to it it will connect two other lines? Like a digital switch? Thanks so much for all your help!
EDIT: just found out the second thing I'm looking for is called a relay :)
Awesome. Question: is this ESP8266 going to serve the same purpose as the one listed on GitHub that's out of stock?
this is the one that i bought.I thought at first i would some how broken it, then i realised that the code was not uploading because the port was not the correct one. REALLY APPRECIATE THE SUPPORT BY THE WAY.
Thanks, I bought this instead (an arduino mkr1000 clone) which can use the IDE
It has wifi so I should be able to use it with other projects as well
ill show you the exact one i bought.
I have tried to connect it to my mac. Such a pain with downloading and re downloading drivers. The port "incoming bluetooth" is the only port showing, Aside from that its just been a headache. I checked so many videos and everything seems so easy but it doesnt work for me
When it comes to frustration, stay away from the cheapest parts unless you can confirm the USB stuff works as expected on your platform. I have wasted too many hours trying to get cheap crap to program from the IDE. Been working with nodemcu lately for an IoT project and it works well. For less than $10 it's a great way to branch into that stuff while waiting for Adafruit to get the esp32 board back in stock.
https://www.amazon.com/HiLetgo-Version-NodeMCU-Internet-Development/dp/B010O1G1ES
Another point that I don't see mentioned here is if you want to get into it get a decent soldering iron. Once again the cost of a decent tool is worth it compared to the sanity lost fighting with an iron that can't deliver the right temp consistently.
I am using the example taken from the link you provided (wifiClientSecure) while changing the wifi info and the host name and the fingerprint to my own.
This is the chip I am using: https://www.amazon.com/dp/B010O1G1ES
Also I am trying now to do a normal http get request and it keeps disconnecting for some reason.
Like every 4 tries it sends the request once.
Is the problem my hardware or my server?
Hey thank you for the info. I have this dev board: HiLetgo New Version NodeMCU LUA WiFi Internet ESP8266 Development https://www.amazon.com/dp/B010O1G1ES/ref=cm_sw_r_cp_api_QTlXybCAPV2EQ I assume it is a knockoff but not sure.
I will check out the links you provided on SPIFFS.
Yeah. You'll probably have to hack the controllers then. You could also check out the ESP8266, they're pretty sleek, and cheap: https://www.amazon.com/HiLetgo-Version-NodeMCU-Internet-Development/dp/B010O1G1ES/ref=sr_1_3?ie=UTF8&qid=1487616893&sr=8-3&keywords=esp8266
I build my own using ESP8266 controllers - they're super cheap ($5), very reliable, built in WiFi, etc. For prototyping or learning get a dev board which has a USB port and pins for a protoboard like this one The company is coming out with a new one called ESP32 ( /r/esp32 ) soon that I will use for most everything. I keep spares so I can just pop in a new one if one fails - so far no failures. We also use Arduino Uno, Arduino Mega and Raspberry Pi.
Question about the NodeMCU board... I bought this recently and am having an annoying hard time figuring out what the integer values for the pins should be. These boards have pins labeled D0-D8 but using those as pin values in my code doesn't seem to do anything (I have a simple LED connected and am merely trying to make it blink to start with).
Is this board similar to what you used and did you have any issues figuring out pin mappings? Maybe I'm doing something else wrong...
The software that runs on a consumer electronics device, such as a set of bluetooth earbuds, is called firmware. (Because it's somewhere in the middle between hardware and software.) Such devices contain a small CPU, not as powerful as the one in a computer but able to do many of the same things, and the code that it runs when you turn it on is the firmware.
C/C++ (opinions vary about whether these should be lumped together) is probably the most common language for firmware. One way you can mess around with programming in this area is to grab a cheap little embedded development board and start programming it - the Arduino boards are very popular and it's very easy to find resources about how to get started with them, or there's the ESP8266 boards which are a little more featured, but probably harder for the total beginner. Either way, you'll connect them to your computer to "flash" firmware onto them, and then you power them up and they blink lights or control robots or whatever.
An ESP8266 + MQTT is your answer. I built a few out myself and created the DTH (based on an existing RGB wifi handler) to go along with it.
Here's my post on the ST community with links to NodeMCU code, the DTH, and the ST MQTT bridge https://community.smartthings.com/t/device-handler-for-nodemcu-using-mqtt/121076/50
For the actual ESP module, check Amazon, they start around $5 - i went with this one, and have not had many issues issues (running 5 in various places) - they do sometimes freeze if they run some of the animations for too long, but solid colors never give any problems: https://www.amazon.com/gp/product/B010O1G1ES/ref=oh_aui_search_detailpage?ie=UTF8&psc=1
What I can recommend is using the Stick Up Cams with POE and the Ring Smart lights rather than the Spotlight/Floodlight Cams. The Stick Up Cams have a much better image sensor and IR lights for nighttime. Not to mention the Stick up cams have 150 degree field of view vs the 140 on the older cameras, so you don't need more than 1 or 2 for each side of your house.
POE is immune to the $8 WiFi jammers that can be bought on Amazon. A co-worker was recently burglarized with one of these and it blocked everyone's Ring device in the neighborhood from recording, luckily one neighbor had hardwired cameras.
​
The solid internet connection, lack of WiFi congestion, and better camera sensors is well worth investing in a POE switch and the time spent running all the wires through your attic. I myself switched from a Spotlight Cam in my backyard, Floodlight in front, to 2 POE Stick Ups while using the Ring Wired Floodlight with the Bridge. The setup is much better, and more secure.
Also... I'm guessing you are going with the Ring Protect plan for all this? With the protect plan you get 10% off on Ring.com vs no discount on Amazon, and you can still use Amazon pay on their website if you have the Amazon Credit card. Not to mention Ring.com also offers 20% off of Vets, First Responders, and teachers
An ESP8266 will be the best option for a beginner if you need internet connectivity. I use and recommend these.
You can easily get the current time and date from online and schedule your light to come on.
The more complicated but far better solution is to have your script periodically check the RSS feed for the next episode. It should be able to determine the latest episode and turn on the LED when the next episode appears.
So a NodeMCU like tihs model?
https://www.amazon.com/HiLetgo-Internet-Development-Wireless-Micropython/dp/B010O1G1ES?th=1
How about this microcontroller, it contains the inbuilt wifi module so it can deliver the sensor readings through wifi, right?
I don't know about a bluetooth bridge, but with an ESP8266, a thermocoupler, a usb charger, and about 10 lines of YAML you can have a EspHome wifi temperature sensor with no soldering or knowledge of microcontrollers necessary. Not saying it's easier than acurite, but it's not complicated.
So I just need this and then how do I plug my leds into it? Sorry I'm new to this.
I would not use the onvis strips just for the reasons listed below with cutting them. I would recommend using the WLED project controller for this and then install WLED plugin on hoobs/homebridge and add them to homekit.
WLED Project: https://kno.wled.ge
Use the Node MCU as the controller : https://www.amazon.com/gp/product/B010O1G1ES/ref=ox_sc_saved_title_2?smid=A30QSGOJR8LMXA&th=1
Some BTF Lead strips: https://www.amazon.com/gp/product/B088B8G8LD/ref=ox_sc_saved_title_4?smid=A35UAT07QG3EC6&th=1
Use the Node MCU as the controller: org/plugin/homebridge-simple-wled
Check out some of the videos on Youtube which will show you how easy this project is and you have great control via WLED or Homekit when you are done. This will also make it easy to use multiple strip sections and wire them together to achieve your goal.
Hope this helps!
Anything cheaper is going to be using a VOC or H2 sensor to estimate CO2 concentrations, which can potentially vary widely from an actual CO2 measurement.
Mentioned in the other comment, the SCD30 is a CO2 sensor that is about $60 USD on Sparkfun. Adding the other components to package it into a finished product makes it a more expensive device than those based on VOC/H2 sensors (like the SGP30).
Still, a $60 sensor makes a DIY solution much cheaper than commercial devices. Throw in an ESP8266 board (~$7 on Amazon), then install ESPHome and configure the device.
Look at this, or buy one, and copy it HiLetgo 1PC ESP8266 NodeMCU CP2102 ESP-12E Development Board https://www.amazon.com/dp/B010O1G1ES/
I recommended using an esp8266 based board such as this
https://www.amazon.com/HiLetgo-Internet-Development-Wireless-Micropython/dp/B010O1G1ES
It has built-in Wi-Fi and is programmed using the Arduino IDE over USB. Extremely easy to hook up an accelerometer and lots of tutorials on how to extend battery life are readily available. I use them for my projects that require wifi and it's very easy to set up.
For sensing water level; If you just need to know if it's above a certain point, these are very reliable and robust. If you need to know actual level, you can use a special water level sensor or a simple ultrasonic distance sensor pointed down at the surface of the water.
For co2, unfortunately, sensors that actually read co2 levels are fairly pricy, but there are cheaper sensors that measure equivalent co2, basically measuring what it can and making an educated guess on the actual co2 levels (they're fairly decent, certainly good enough for a greenhouse).
Water flow meters are fairly cheap and reliable, as are solenoid valves to control the water.
For controlling fan speed, you wouldn't use a relay, as they're either on or off. You could use a solid state relay to PWM the AC, but that's pretty complex, instead, you can use a simple AC dimmer module to make your life easier.
For layout, I would suggest wiring all the sensors to one central arduino, as having a bunch of wireless sensors is unnecessarily complicated. Of course, if you need to measure temperature in two places 60' apart, then it doesn't make sense to run 60' of cable, you'd put those on separate arduinos. As for how the arduinos communicate with a PC/Pi, wifi would work great. You could either build the whole thing around an ESP8266/32 board like the NodeMCU instead or an arduino mega/uno, or you could add on an ESP-01 module as a wifi module to your arduino.
For reading data sent out by the arduino with a PC/pi; If you make it wired, you would simply serial.print the data out to a computer, where it would be read and you could do whatever you want with it. If you decide to make it wireless, a setup like this might be the easiest way to do things. There are of course, many other ways of communicating between an arduino and a pc/pi, you just have to look around a bit.
Heres what I would most likely do, get a ESP8266 NodeMCU Board And WLED And find some compatible Led's, (they have some listed in the repository) and look for some quick start guides to help you on youtube. It may take awhile but the outcome is 100 percent worth it.
Take a look at
software for sensor node https://esphome.io/
example of sensor node https://www.amazon.com/HiLetgo-Internet-Development-Wireless-Micropython/dp/B010O1G1ES
software to central manage https://www.home-assistant.io/
​
you should be able to build each sensor for around $10
Thank you for the suggestion (and warning). I see that sparkfun has numerous 8266 'thing' boards. One with 8 pins (but I think I'd need some other board to load code onto it?) another with 20 pins and no headers, and then this pricier dev board one. Not sure I understand why they offer all these different varieties.
But then you suggested a NodeMCU one. Amazon has a cheap one here. Does that look what you mean? It advertises "built-in micro-USB, with flash and reset switches, easy to program".
Wasn't sure if zip would be available for all, apologies for that. I replied to another with the same message below. I'm currently scouring the ino file with the advice from others replied.
https://pastebin.com/WvELMSub is the ino file https://pastebin.com/WYAbYWRt error message, sorry for only putting one line, i was unaware of the scrolling. (extremely new to this) Theres the ino file, I am using a generic wifi capable ESP2822 -- this is the link from amazon. https://www.amazon.com/gp/product/B010O1G1ES/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
I havent merged any, and most of the server errors are from the old code, I have since fixed those.
> https://pastebin.com/WvELMSub > is the ino file https://pastebin.com/WYAbYWRt > error message, sorry for only putting one line, i was unaware of the scrolling. (extremely new to this) Theres the ino file, I am using a generic wifi capable ESP2822 -- this is the link from amazon. https://www.amazon.com/gp/product/B010O1G1ES/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 > > I havent merged any, and most of the server errors are from the old code, I have since fixed those.
https://pastebin.com/WvELMSub is the ino file https://pastebin.com/WYAbYWRt error message, sorry for only putting one line, i was unaware of the scrolling. (extremely new to this) Theres the ino file, I am using a generic wifi capable ESP2822 -- this is the link from amazon. https://www.amazon.com/gp/product/B010O1G1ES/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
I havent merged any, and most of the server errors are from the old code, I have since fixed those.
You’ll want to hook those switches up into something like this.
https://www.amazon.com/dp/B010O1G1ES/ref=cm_sw_r_cp_api_i_vFMdDbNTKQ5BW
You can flash the Tasmota firmware onto that and control the actions of button presses through rules to effect LEDs Conneceted if it’s a small single LED... if you need strips or bulbs... then get tasmota compatible LED controllers. You can have multiple tasmota devices communicate ie. all the buttons hooked into one and the lights to another.
To flash, you’ll need a usb to serial converter. But pretty easy following online videos.
https://youtu.be/9Yu57vjz7AY provides a decent overview of about what you’re trying to do.
I haven’t done this exact solution but I use momentary switches to tasmota software devices to control multiple items around my house. DigiBlur has a lot of great YouTube videos that could help you.
Don't even bother. I know this is an "arduino" sub but the ESP8266 (which has a smaller form factor dev board as well) and the ESP32 are cheaper, have more capability, more memory, more GPIO pins, more of everything... Best of all they use the same dev tools, language and libraries that arduino uses. Virtually every single device you can run on an arduino will also run against one of these other microcontrollers.
The ESP32 is the newest microcontroller from the makers of the ESP8266. Way more memory & flash memory, faster dua core CPU, lower power, way more GPIO pins, much better PWM support than the ESP8266, etc. However, because it is newer the library & module support is still not quite as mature as it is for the ESP8266 (at least a year ago when I last used it).
Seriously, if I was in your shoes, I wouldn't even bother with the ardunio if I was going to include wifi. ESP8266 and ESP32 both have them built in.
Again, I know this is an arduino sub but I'm pretty sure it is more of an "cool shit using microcontrollers" sub than strictly an "arduino hardware only" sub. And ESP8266's / ESP32's outclass arduinos in almost every regard.
PS: Most of those wifi shields for arduino actually have an ESP8266 on them in order to get wifi :-)
PPS: The ESP stuff is strictly 3.3v and all the GPIO pins are 3.3v. Arduino is all 5v. If your components all expect 5v and won't work with 3.3v, you'll need to run them all through a logic level converter to step the 3.3v up to 5v and back...
If you are looking for some more micro controller HW the Node MCU is all the rage for little GPIO projects w/ Python.
https://www.amazon.com/HiLetgo-Internet-Development-Wireless-Micropython/dp/B010O1G1ES
This is with the microcontroller, you can just android cable and start coding, has shit load of pins to connect https://www.amazon.in/Lolin-NodeMCU-3-01-0268-1-NodeMCU-WiFi-Arduino-IDE-Lua-based-IoT-ESP8266-Development-Board/dp/B010O1G1ES/ref=sr_1_5?ie=UTF8&qid=1516032571&sr=8-5&keywords=esp32
This is without microcontroller, you can just dev in above board and upload bin in this https://www.amazon.in/dp/B071GJQ6HY/ref=sspa_dk_detail_0?psc=1&keywords=esp32
Don't know if this counts as "good" but I put together a nodemcu and an RF receiver that transmits the codes over MQTT to my raspberry pi. NodeMCU ~$9 https://www.amazon.com/dp/B010O1G1ES/ref=cm_sw_r_cp_apa_3t7.zbNNKST99 and RF receiver ~$7 https://www.amazon.com/dp/B00M2CUALS/ref=cm_sw_r_cp_apa_bx7.zbPBPEM90
Just noticed you said 345mhz... these receivers are made for 433mhz but you might be able to find a similar one for 345mhz?
Let me know if you want any more details.
It is one of these guys, which can be had cheaper from the slow boat from china (ebay) https://www.amazon.com/HiLetgo-Internet-Development-Wireless-Micropython/dp/B010O1G1ES/ref=sr_1_3?ie=UTF8&qid=1506648104&sr=8-3&keywords=nodemcu
This power buck: http://www.ebay.com/itm/AC-DC-Power-Supply-Buck-Converter-Step-Down-Module-5V-2A-2000mA-/252300684867?hash=item3abe4aee43
1ch relay with opto: http://www.ebay.com/itm/1-2-4-6-8-Channel-5V-Relay-Board-Module-Optocoupler-LED-for-Arduino-PiC-ARM-AVR-/172433598201?var=&hash=item0
This temperature probe http://www.ebay.com/itm/1pc-3M-Waterproof-Digital-Temperature-Temp-Sensor-Probe-DS18b20-/371673478354?hash=item56897734d2:g:HZkAAOSwqBJXUSWw
Code is here: https://github.com/crosma/sousduino
Its a vMicro project: http://www.visualmicro.com/page/User-Guide.aspx?doc=Visual-Micro-Menu.html
what about using a NodeMCU to control a dual relay board?
I'm going to do the same. Are you going to use a specific source code or are you going to write it yourself?
Edit: Don't really want wait three weeks, so I'm ordering these. https://www.amazon.com/HiLetgo-Version-NodeMCU-Internet-Development/dp/B010O1G1ES/ https://www.amazon.com/dp/B00FDPO9B8/
Haven't really read yet what kind of output the sensors have yet, but I assume it's just the sensitivity, and a boolean for movement. I'll just write a little script that does a HTTP call to my node on movement.
This is the hardware I used.. The Arduino IDE is here
A nice guide on how to program the ESP8266 chip with the IDE.
NodeMCU boards
This is the first NodeMCU I got. It was a little pricey but I have Prime and it was free next day shipping: https://www.amazon.com/HiLetgo-Version-NodeMCU-Internet-Development/dp/B010O1G1ES/ref=sr_1_3?ie=UTF8&qid=1490651216&sr=8-3&keywords=nodemcu
I have since used these and they are a little more expensive than China but it's only $1.20 more each and they don't take weeks: https://www.amazon.com/gp/product/B01M25ZO02/ref=ox_sc_act_title_6?ie=UTF8&psc=1&smid=A2JOSOMT0H4PUK
Setting up the board
If you have Windows 7, you'll need the USB to UART drivers. I got them from this page: http://www.chinstruments.com/USB_440.shtml
Direct link to the download: http://www.chinstruments.com/cp210x44.zip
Check you Com Port number in the Windows Device Manager
Download and install the Arduino IDE: https://www.arduino.cc/en/main/software
Both the boards I posted are the same type, "NodeMCU 1.0 (ESP-12E Module)". I followed the instructions on this page under the heading "Setup the Arduino IDE" to setup the board in the arduino IDE: https://create.arduino.cc/projecthub/Metavix/programming-the-esp8266-with-the-arduino-ide-601c16
Pertinent Excerpt from page, I changed the board type
Open your IDE and click on "File -> Preferences". In "Aditional Boards Manager URLs" add this line and click on "OK": http://arduino.esp8266.com/stable/package_esp8266com_index.json Go to "Tools -> Board -> Boards Manager", type "ESP8266" and install it. Go again to "Tools -> Board" and select "NodeMCU 1.0 (ESP-12E Module)". Go to Tools -> Port and set your Com Port
Arduino IDE Libraries
Libraries are pre-built code you include in your scripts. To use the board as an MQTT client, we need PubSubClient
Open the Arduino IDE Got to "Sketch -> Libraries -> Manage Libraries" In the seach box on the top left type "PubSub" Select "PubSubClient" and install it
Hello Word Code
/************ WIFI INFORMATION ***************/ #include <ESP8266WiFi.h> #define wifi_ssid "" //enter your WIFI SSID #define wifi_password "" //enter your WIFI Password /********* MQTT INFORMATION *****************/ #include <PubSubClient.h> #define mqtt_server "" // Enter your MQTT server adderss or IP #define mqtt_user "" //enter your MQTT username #define mqtt_password "" //enter your password const char clientID = "coopDoor"; //must be unique on each device
WiFiClient espClient; PubSubClient client(espClient); const char* testSub = "topic/test/sub"; const char* helloWorld = "topic/test/helloWorld";
void setup() { Serial.begin(115200); setup_wifi(); }
void setup_wifi() { delay(10); Serial.println(); Serial.print("Connecting to "); Serial.println(wifi_ssid);
WiFi.mode(WIFI_STA); WiFi.begin(wifi_ssid, wifi_password);
while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }
Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); }
void callback(char* topic, byte* payload, unsigned int length) { //this is where'd you'd listen for any topics you subscribed to // Convert the incoming byte array to a string payload[length] = '\0'; // Null terminator used to terminate the char array String message = (char*)payload;
Serial.print("Message arrived on topic: ["); Serial.print(topic); Serial.print("], "); Serial.println(message); }
void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); // Attempt to connect if (client.connect(clientID,mqtt_user,mqtt_password)) { Serial.println("connected"); // Once connected, publish an announcement... client.publish(helloWorld, clientID); // ... and resubscribe client.subscribe(testSub);
} else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } }
void loop() { if (!client.connected()) { reconnect(); } client.loop(); dtostrf("Hello" , 2, 2, msg); client.publish(helloWorld, msg); }
This will get you device up and running on the wifi and as an MQTT client. Your client is publishing to the topic "topic/test/helloWorld" and subscribing to the topic "topic/test/sub"
More later
I don't have any links. I combined multiple sketches to get it to do what I needed. I used a NodeMCU chip (~$8 on amazon) and a cheap 5 pack of PIR sensors
From there I looked up how to connect an esp8266 to wifi, how to publish to mqtt, and how to determine if a pir sensor senses motion.
Combined all that into a working sketch. If I could pull this together, you can too!
I got mine off amazon. Pretty cheap.
HiLetgo New Version NodeMCU LUA WiFi Internet ESP8266 Development https://www.amazon.com/dp/B010O1G1ES/ref=cm_sw_r_other_apa_8EMlybP0DHNDQ
I just ordered a NodeMCU.. We'll see how that goes driving WS2811 christmas lights. https://www.amazon.com/gp/product/B010O1G1ES/ref=od_aui_detailpages00?ie=UTF8&psc=1
Along with the lights and the ESP8266, you would also need some way to power it and the ESP8266. The LED string I chose is 12v, and the ESP8266 is powered by 5V, so you will need a voltage regulator as well. Also, if you choose the lights I linked they probably wouldn't arrive by the time you need them (they are from a Chinese distributor). What is important is that they are individually addressable WS8211 based. I chose those because they look like a classic christmas light string.
This is as far as I've gotten with the project so far. You also need to set up an environment on your computer to compile the custom firmware that will be flashed to the ESP8266.
I'm afraid that really is no packaged solution for this, so if you don't have a lot of experience with electronics or programming, you may find it an uphill battle.
Good luck!
I've used aliexpress or Amazon depending on how quickly I wanted the things.
For a NodeMCU I'd suggest going with the version 2 instead of the version 3 since they fit better on a 400 point breadboard. I generally just search for 'NodeMCU CP2102' which should get you to the version 2.
there are easier solutions but since this is DIY I recently put together a circuit using one of these https://www.amazon.com/HiLetgo-Version-NodeMCU-Internet-Development/dp/B010O1G1ES/ref=sr_1_1?ie=UTF8&qid=1466965785&sr=8-1&keywords=nodemcu+v3
It's programmed via the arduino IDE and is simple enough with a bit of googling for any programmer to get working. I have it connected to one of these https://www.amazon.com/SunFounder-Shield-Module-Arduino-Channel/dp/B00E0NTPP4/ref=sr_1_4?ie=UTF8&qid=1466965844&sr=8-4&keywords=arduino+relay
3 wires from the nodemcu to the relay. VCC, ground and one of the datapins. Just make sure you use the 5V pin for VCC as the 3.3V ones didn't work.
Then apply power to the relay and he nodemcu. I used an old 5V cellphone charger that I cut the plug off of and direct wired it to the boards. After that I made a short 6" extension cord and split one of the wires. It goes into the relay. After that it just works.
You will need a way to solder the wires and a breadboard lets you test before doing the final wiring.
get this instead: http://www.amazon.com/HiLetgo-Version-NodeMCU-Internet-Development/dp/B010O1G1ES/ref=sr_1_1?ie=UTF8&qid=1461651634&sr=8-1&keywords=nodeMCU
It will save you a bunch of headaches, trust me.
I just ordered one of these. Not sure if it's the v3 or not but it looks like it has everything I need. The flash and reset buttons probably save a ton of time.