36 comments

[ 5.2 ms ] story [ 137 ms ] thread
This project is a great little proof of concept. However, if the electronics still seem a little inaccessible or you don't want the hassle; the NodeMCU[1] dev board compresses all those components (ESP8266, USB, buttons & GPIO) onto a easy to use board for ~$12 USD. I'd highly recommend it.

However, you'll need a breadboard and a button to complete the project.

[1]: http://nodemcu.com/index_en.html

Is this it?

http://www.ebay.com/itm/201414882109

Does it really have WiFi and run Lua for less than $7?

This looks basically like ESP8266 connected to a serial-to-USB chip and put on a breakout board. I guess all processing is done on ESP, which is like $2 (and less if you buy bulk), so I can see the kit being $7. Don't know about Python though.
Apparently someone ported it, so I took the question out:

https://github.com/micropython/micropython/tree/master/esp82...

This board looks fantastic. I don't know why anyone would buy an Arduino, I am just amazed by this.

Well, you'd buy an Arduino for the ecosystem, but this board is much better in many respects. I have a Particle Photon and I was excited because it had WiFi, but the NodeMCU has WiFi and is cheap enough to be disposable. I am pretty stoked right now.

I think I saw something like this yesterday in Shenzhen, but until this thread I couldn't identify what this is (and locals here don't speak English). I'm probably buying a bunch the next time I'm around.

Arduino nowadays yes, mostly for ecosystem and as a good entry point to electronics for people who know neither it, nor software. Otherwise it's overkill both in terms of price and size (btw. I still find it hard to accept that such big boards cost so little; Arduino Uno clones go for something like $3-4 right now).

> as a good entry point to electronics for people who know neither it, nor software

As someone who knows software but not hardware, I like how modular its shields are. It allowed me to make this[1] with very little effort.

You're right about the price, I bought five Minis the other day because I found them at $1.5 each, and now three of this board, which I am just amazed by. The Uno is huge, though, I agree.

[1]: http://www.stavros.io/posts/irotary-saga/

I also know software but not hardware, but being a part of a local Hackerspace, I often find myself teaching people who know neither. Arduino is godsent for this, especially Uno-sized ones. They're not so big to be intimidating, not small enough to make you worry you break something, and the software ecosystem around it lets you teach someone loops and conditionals while going from blinking LED to driving a robot around.

Shields are also cool as a concept, but I used to avoid them because they could often be as expensive as the board itself. I'm reconsidering now, given how the prices have fallen in the last year or two. Hell, my friend who is super-skilled in electronics started to buy lots of Arduino Ethernets to wire up some sensors in a small factory, because nowadays getting even a few dozens of them is cheaper than bothering with designing and making your own custom board for the task (if you add up the time you spend on designing and debugging).

> It allowed me to make this[1]

I remember that from Show HN some time ago, I'm happy you finished it :).

That looks like the older revision that uses the ESP-12 module rather than an ESP-12E. But yes, it does 802.11b/g (don't think it does n), with a pretty full IP stack. It'll run both LUA as part of the NodeMCU project, and it'll also do C/C++ natively with the arduino project also supporting it as a board directly.

EDIT:

Here's a board with the ESP-12E

http://www.ebay.com/itm/NodeMcu-Lua-WIFI-Internet-Things-dev...

It has some more flash and more pins broken out compared to the ESP-12

Also once you've got something build you can buy the bare modules for usually <$3 and they don't need much support hardware to use, just a 3.3 volt regulator. The ESP-12/E modules however use a 1mm pitch rather than 2.54mm pitch that you usually find on breadboards, so they are a bit more difficult to setup initially if you're doing it bare.

The hardware is essentially an ESP8266 + support.

The MicroPython port to the ESP8266 isn't terribly complete, but it does exist: https://github.com/micropython/micropython/tree/master/esp82...

My fork of micropython is rocking. I have 100% reliable wifi, ESP timers, ESP tasks and mutexes. https://github.com/mianos/micropython I agree, get a nodeMCU board load micropython on connect to the REPL to start experimenting.
That's awesome, thanks for your contribution! I can't wait for these boards to arrive so I can play with MicroPython!
You can get them for $4.70 with free shipping directly from the factories in China on Aliexpress: http://www.aliexpress.com/item/New-Wireless-module-NodeMcu-L... (The only downside is shipping takes a few weeks).

Just received 2 of them a few days ago, and they work great! I had been waiting for practical IoT hardware for a long time, and now it's finally happening.

I recommend ESplorer for programming them (http://esp8266.ru/esplorer/), and esptool for flashing firmware (https://github.com/themadinventor/esptool).

Thank you for the recommendation, I ordered three. The tools are going to be very handy, as I don't like the Arduino environment very much.
I know many here are pretty into electronics - could you recommend any new interesting boards, chips and devices to check out?

I'm in Shenzhen right now, I've visited the electronics markets and was totally overwhelmed. I would love to check out what weird cool things they're pumping out now besides various iterations of ESP8266.

A slightly more expensive (~$50) version I made that can also open and close the door:

http://rcoh.svbtle.com/how-i-automated-my-garage-door

Since it uses an electric imp, the electronics are significantly simpler (just a transistor / resistor to trigger the switch), since the imp has integrated wifi, GPIO, power.

Anyone have info on what kind of licensing from the FCC (or other governmental agencies) a company would need to sell wifi/LTE IoT gadgets?
A lot of these WiFi chips are sold as modules, already soldered to a small PCB with built-in antenna and covered with an RF shield. These are usually already FCC certified by the module maker.
Thanks for this, every time I try to get a project started with hardware I'm usually looking at $80, which is a big reason why I just stick to software. Since alot of things you can imagine in software can be built cheaply, initially.
FWIW, that ~$80 worth of "stuff" is pretty much reuseable. Most of my ideas end up being not-as-useful-as-I-expected, so ratting the previous project for its now-unused Arduino/RaspberryPi/ZigBee/breadboard/orbital-death-ray is a really common way to start _new_ ideas/project for insignificant amounts of money...

(Also, as much as I like to support Arduino/RasPiFoundation/3DRobotics/whoever-pioneered-thing-de-jour, all those bits are available much less expensively ex China fro DealExtreme/GoodLuckBuy/AliExpress/GearBest et al.)

You can get into IoT using a cheap tablet off of eBay: http://ilikekillnerds.com/2015/10/cheap-ebay-android-tablets...

All you need is a device with wifi, preferably running Android as it is more customisable and easier to hack into. For around $50 you can get a decent tablet (no-name brand) with everything you'll ever need (including GPS and sim support).

I created a parking inspector sensor at my old workplace because it was all street parking, but only for the residents and nowhere to really park. So we would all park on the street and occasionally the parking inspector would pay a visit.

What they would do is chalk your tires and then they would come back a little later and see if you had moved or not. What I did was use a cheap IoT connected device with a sim card, it would send a cheap SMS to my real phone when it detected movement (from being chalked). Occasionally it would trigger false positives, but it worked. I was popular at the office, because they knew if I got chalked, they did as well.

Then you would go move your car or wipe off the chalk off of the tyre.

Around here the bylaw officer (who used to chalk tires) now has a tablet that takes a picture of the vehicle (including licence plate and I assume includes GPS coordinate). The pitched battle over parking continues . . .
> "SMS me when I leave my garage door open"

Bad example? How about automatically closing the garage door after I left the garage with the car (e.g. Bluetooth of smartphone). We get too many alerts these days. SMS alert make sense (IMHO) for fire/burglary alarms.

I appreciate such projects and built IoT systems for my needs too.

That may be more useful to the end-user, but the point of this is to learn how to make a basic IoT project (the title is IoT intro). This includes creating a basic circuit and interfacing with an API on the internet, which is something that a lot of IoT projects need. Closing the door automatically would involve interfacing with the garage-door machinery, which would be more complicated I imagine.
What if you leave your garage door open while your car is parked inside, such as overnight? Depending on your neighbourhood, you might not want to offer the insides of your garage so easily...
E.g. Automatically close the garage door with a beep sound after x minutes of observed inactivity (IR sensor or camera).
I had the same problem about a year ago, then I just bought this and swapped out my existing wall switch. Beeps a warning and autocloses after a minute.

http://www.amazon.com/LiftMaster-888LM-Security-Upgrades-Pre...

Why do you need Twilio? Most carriers will happily accept email; for example, $NUMBER@vtext.com will happily deliver the email to a Verizon number as SMS.
This was just an easy way of making the tutorial usable by everyone (not just Verizon US customers for example). Hope you liked it ;)
Verizon is not the only one. Every major carrier (ATT, Sprint, TM, etc.) operate email-to-SMS gateways.
By the way, over the weekend I started prototyping and implementing a proof of concept library for secure communication between IoT devices:

http://stringphone.readthedocs.org/

It allows devices to securely encrypt the messages they send to each other, and also to verify that the device sending the messages is who it says it is. That way, your garage door knows unambiguously that it was your phone that told it to open.

If someone would like to contribute some feedback, I would be grateful.