-
-
-
-
@Gordon you are right, I am biased in that I already have the native node.js module requirements setup so I didn't see that.
Wouldn't WebUSB usable in the browser app (Chrome only too https://caniuse.com/#search=USB, with future uncertain it looks like)?
-
@Gordon The fact that we can start working with Espruino with just a browser is a killer feature IMO.
From the link provided at https://developer.chrome.com/apps/api_index it appears that the easiest migration path could just be to build an Chrome Extension (instead of Chrome App) as described at https://developers.chrome.com/apps/migration. The extension APIs are here to stay I think. But other stuff, like the USB access might need to get migrated to their web equivalents.
Not sure about the native installer.... at least the default use-cases for the Espruino boards should IMO just work directly from the IDE website for easy starters.
For more I would perhaps think about doing plugin for stuff like https://code.visualstudio.com/ or https://atom.io/ where the binary is maintained by the community already and it is a matter of installing a plugin (both could be based on Node.js infrastructure).
-
From what I read from Google is that they are trying to push the browser standards themselves so that no Google Chrome specific APIs should be needed. They have been speaking about it for over a year now (see https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html). From that it appears that the espruino.com/ide direction is future-proof.
@Gordon What exactly is there in the IDE that doesn't work in a browser? The terminal communication? What else is there that you would need the native server app you are writing about for?
-
There is an issue for this at https://github.com/espruino/Espruino/issues/1176.
-
@Ollie what is the use-case? Performance or privacy/security?
If it is privacy then it is very easy to run mosquitto or https://github.com/mcollina/aedes/blob/master/example.js (pure node.js MQTT server) on your raspberry.
If it is the broker requirement itself it looks like implementing CoAP might be the way?
Going under UDP/TCP would require support from all the specific SDKs of all the boards which seems a no-go.
-
Thank you @Gordon, that was fast! :)
-
Hi @cmo!
I am affraid that listen() returns nothing (unlike the node.js' one). I have submitted a new bug for this.
In the meantime the code would need to look as follows:
var http = require('http'); var server=http.createServer(function(req, res){ res.writeHead(200); res.end("Hello World"); console.log("res sent"); }); server.listen(80); setTimeout(function(){ server.close(); },5000);
-
For multicast support you need to use socket.addMembership() method (The dgram module is mostly compatible with node.js' https://nodejs.org/api/dgram.html). There are node.js ssdp implementations available to have a look at.
Here is an Espruino specific example of an mdns (multicast DNS) module I crafted.
-
-
Hi!
Could you post the whole code and step by step process you followed? The tests are not ready-to-use scripts to use on the boards. One needs to wait for the network to connect etc...
Perhaps you can test the captive portal script available at https://github.com/espruino/Espruino/issues/1221. That one seems to be ready to be sent from the IDE and should give you an access point which renders a web page when connected to from a phone.
Best Regards
Standa -
I think giving the ESPs some love from your insider/experienced side would show Espruino in better light and might reduce the burden of explaining people they should use some other board when they just wanted to make some fun project. In my opinion the popularity vs effort ratio is an important metric to look at at the stage of evolution Espruino is in. Espruino popularity is getting you the money.
Contacting EspressIF sounds like a possible way to go, but again they might not see the benefits just because Espruino is not that widespread yet.
And thank you for the kind words. It's been a fun way for me to get into hacking hardware.
-
@Gordon I am a big fan of what you are doing with Espruino. I bought the original Espruino board earlier...
From my point of view the ESPs are simply too popular for not getting first class support from a firmware like Espruino. The connectivity feature of those chips/boards make them very tempting to play with (along with the price obviously). I think it could become way more popular by just giving the chilps/boards the attention they deserve.
It is very hard to tell what is the right direction for you to go to make a living off of it all. I feel like the Espruino board business cannot scale though. I think the patreon thing seems to be a nice way of getting support for all the work (although not yet self-sustainable I can see). I personally decided to rather spent time contributing to the code as long as it is just a hobby stuff for me at this point. I feel like contributing that way is the best I could do for Espruino at this stage.
-
I have tried the IR receive stuff with the d1 mini (esp8266) and if my math is correct I am getting codes sometimes as long as 50ms. So if I wanted to simply retransmit using the tight loop digitalPulse() esp8266 port sw implementation it would take too long and the watchdog would reset the board before finishing. So your option 2 from above @Gordon doesn't seem feasible. Am I missing something there?
On the other hand @Gordon's https://github.com/espruino/Espruino/issues/1175#issuecomment-318593010 comment gives hope in avoiding to go with some sort of ne555-based 38kHz oscillator or something. I wouldn't really think of it if it were just for the IR emission but it sounds like using the timer handling present in custom pwm code would make the esp8266 port way more usable compared to the current state. I personally would be very interested but I guess lack knowledge and instrumentation. Perhaps somebody could give it a shot? @Gordon?
-
I just sifted through the chapters on safaribooks and I like educational approach a lot.
Thanks @Gordon!
-
I like wemos d1 with ESP8266 so I thought that getting wemos built esp32 board would be good as it also has 4MB flash available. See https://www.aliexpress.com/wholesale?catId=0&initiative_id=AS_20170420235556&SearchText=LoLin32 Would this be a good board to get to start playing with the ESP32 Espruino?
-
Hi!
Just reading about the new ESP3212 (on sale at seedstudio). Wouldn't that one be a good candidate to run Espruino on?
Best Regards
Standa -
I think about Bluetooth PAN as a way to get espruino on the net. Having a server with a bluetooth dongle for supporting PAN would suffice.
I am also not sure how does it actually work under the hood (yet).
-
-
-
Hi!
I would also like to get something more common. Getting the Wiz550io is like $17 for the module itself and $40 for shipping. eBay is full of W5100 Arduino shields under $10 (free international shipping).
Do you think the w5100 would work with some of the tweaking mentioned above? Or is there any fundamental problem? From what I can see is that the w5500 has double the internal buffer and number of channels. Something I could live with wrt features.
Any hints welcome!
Standa -
Hi!
I selected our house Garage & Entrance Gate mobile phone remote as my first real embedded device project ever with espruino. I have got background in low-level driver development as well as modern single page web apps recently it would hopefully turn into something at least functional.
I can already see it is not going to be a single technology thing. One would be the Garage door remote in use 'Hormann-HSM4-868-MHz-4-channel' and the other Nice Robus 433MHz-based remote. I read that both implement 'rolling code' security and I am not sure I should dig too deep into emulating any of those really (if you have any experience with those I would not be hesitant to hack around this a bit though). Rather I think I would just buy spare remotes which I would hook directly to espruino board and just trigger the buttons with the digital pins.
I have already tested the HC-05 module soldered to the main board and I was able to get an Android mobile Bluetooth terminal remote controlled espruino LEDs blinking in under an hour. I find the time to get something working amazingly short with the espruinos' interpreter approach.
Eventually I would like to get an ethernet/wifi module and be able to control stuff using a web page loaded directly from the espruino board to the client's browser (no matter whether it is a mobile phone or a desktop browser or anything else).
Best Regards
Standa
And now try with a colon in the protocol. Like
protocol:"https:"
. I have tried this in the Linux Espruino build and it worked for me.