5 ms·
Welp. Two hours in and the comments are shaping up as you'd expect on HN. Is it really so hard to empathize with people who have different skill sets than your
by beardicus 11y ago
Welp. Two hours in and the comments are shaping up as you'd expect on HN.
Is it really so hard to empathize with people who have different skill sets than yourself? Yes, C would be more efficient. Yes, this wouldn't be very cost effective used in a high volume product. Yes, it's a little funky to write a web page just to plonk your script tag in there.
But, if you spend all day doing front-end dev with jQuery and just want to prototype some blinky lights or a flood sensor in your basement, now you've already got all the skills you need. You're not producing a million units, you're not worried about power so much as it'll be plugged in. An evening with a soldering iron and your text editor and off you go.
Anyways. For prior art on this ecosystem, see janOS:
http://janos.io/ http://janos.io/
which is basically stripped down firefoxOS which runs your app only (none of the launcher crud and such) in god-mode. It's actually quite fun to go grab a $30 phone off of ebay, and have a nice programmable screen and sensor suite with wifi, gps, and cell connectivity. Indeed, I find it more compelling than this board they're releasing, because I like taking advantage of the cheapness of mass manufacturing. The only downside is it's difficult to impossible to break out any GPIO on phones.
- pantulis 11y agoIMHO, this project is coming ahead of its time. I don't think it's going to gain traction due to the fact that the hardware requirements for the overhead imposed by the underlying web stack will make it too expensive.
- pjc50 11y agoI agree, and I come from an old-school C and embedded background. If you do it in C, you have the opposite problem: interacting with the hardware is easy, speaking to a web API becomes a huge pain. There's an "impedance mismatch", which has to be overcome somewhere. And computing power is getting cheaper and cheaper. We're at the point where if you have a little board in a case with some I/O connectors, the CPU will be the least expensive part. Casework and connectors will make up a surprisingly large part of the cost, often costing whole dollars! Edit: also, debugging your C microcontroller program can be quite a pain, even once you have a correctly configured in-circuit debugger.
- frik 11y agoIf you know C, you will love Arduino. It's very easy to "to speak to a web API". They are usually low power 8-bit CPUs with 16 MHz, exactly right for small projects like blinking some lights that should run on battery for years. JavaScript/Python/etc on RaspherryPi or this new Mozilla thingy are interesting too, though will drain your battery faster. You need an OS on a 32bit CPU. If it's connected to the web you should also update the software stack.
- pjc50 11y agoI thought Arduinos didn't come with Ethernet on the chip, and instead you have a Heath-Robinson addon board which you speak SPI to another microprocessor which has the TCP/IP stack, MAC and PHY on? The only thing I've seen that seems to really be viable for remote battery operation is the ESP2866. I have a Pi in my cupboard reading the electricity meter. I really ought to learn Arduino, simply because it's so popular.
- frik 11y agoThere several Arduino models that have an ethernet port on board and there is the official Ethernet Shield for other models like UNO, Mega. The Arduino standard library supports the common solutions out of the box. So no, you don't have to bother with low level stuff (but optionslly, you can write very low level C and shift registers and speak SPI directly, if you want).
- foxylad 11y agoYou can now program the ESP8266 family with the Arduino IDE, in effect giving you a more powerful arduino with built in WiFi. That costs less than $5.
- jjoonathan 11y ago> If you know C, you will love Arduino. Isn't it the opposite? If you aren't comfortable with C, Arduino has a simple enough API and good enough tutorials+documentation that you can still make it work. If you are comfortable with C, just about everything is better than arduino because you'll get debugger support and full control over all the goodies like clocks, charge pumps, DMA controllers, asynchronous ADC operation, pin multiplexers, USB/Ethernet controllers, etc.
- janjongboom 11y agoOn JanOS it's possible to repurpose some of the GPIO pins, as I did here: http://blog.telenor.io/gonzo/hardware/2015/02/10/gpio.html http://blog.telenor.io/gonzo/hardware/2015/02/10/gpio.html
- petra 11y agoSure prototyping platforms are useful, but compared to prototyping/dev platforms availble for the IOT , some done by single guys , and with the expectations carried by the name Mozilla, this seems extremely underwhelming.
- moistgorilla 11y agoI'd rather see this than the pbasic boards...
- Sanddancer 11y agoThe biggest problem I can see here is how limited using a browser as an API is. It has USB ports but there doesn't seem to be a way to add new functions to speak to them in the browser API. Likewise, there's no UART API, so using this to control an Arduino for any sort of real-time needs is going to be much more difficult. There are no event hooks for hardware, which means you have to fall back to polling the device for data. There is no sort of server API, so anything this device does to connect to the outside world will require pushing to an intermediary. While I understand your desire to use javascript to program it, the API presented thus far is slipshod and half-assed. This is barely a tech demo, and is going to need a lot more structure and development for it to be compelling as an IoT device that's more than just a toy.