Shop OBEX P1 Docs P2 Docs Learn Events
Possible way to use wifi for programming propeller — Parallax Forums

Possible way to use wifi for programming propeller

anybody seen this, looks promising for programming propeller:
http://hackaday.com/2015/09/18/transparent-esp8266-wifi-to-serial-bridge/

I'll be on a travelling spree from tomorrow, so can not try it out :(

Comments

  • This is interesting. I didn't realize it was possible to change the firmware on a ESP8266 module. This might give it a big advantage over the Xbee WiFi module since it could be tailored to work well with the rather timing-sensitive Propeller ROM loader. Let us know if you try this and how it works out.
  • Heater.Heater. Posts: 21,230
    I don't see why you can't put a Propeller programmer, written in Lua, into to the ESP8266. Just send it the binary and let it program the Prop in it's own good time.

    This could be neat. If it turns out your Prop program is buggy the ESP8266 maintains communications and can accept a new binary for down load.
  • Heater. wrote: »
    I don't see why you can't put a Propeller programmer, written in Lua, into to the ESP8266. Just send it the binary and let it program the Prop in it's own good time.

    This could be neat. If it turns out your Prop program is buggy the ESP8266 maintains communications and can accept a new binary for down load.
    That's basically what I was thinking. Alternately, you could put a small second-stage loader in the WiFi module that gets loaded on reset and then is used to do the WiFi loading. This would allow better performance. In fact, that is what Parallax's solution does except that it loads the second-stage loader over UDP. However, another problem you need to consider is device discovery. How do I find all of the WiFi modules on my local network that are attached to Propellers. The scheme supported by the Xbee WiFi module that Parallax is using isn't terribly robust. It would be nice to have a module that directly supports a discovery protocol like uPNP or something like that.

  • Heater. wrote: »
    I don't see why you can't put a Propeller programmer, written in Lua, into to the ESP8266. Just send it the binary and let it program the Prop in it's own good time.

    This could be neat. If it turns out your Prop program is buggy the ESP8266 maintains communications and can accept a new binary for down load.

    I think that's the direction Parallax is going with the XBee WiFi, but with the ESP8266, more of us could jump in and try it. I've just started playing with it myself.

  • Heater.Heater. Posts: 21,230
    Device discovery is a pain.

    But as this is the IoT world let's turn it around.

    1) The device connects over the net to some server out in the cloud.

    2) The user accesses the device through the cloud service.

    This is all done over HTTP and gets around all firewalls and NAT and so on.

    A brilliant example of this is the resin service: http:resin.io

    resin only works for boards running Linux, like the raspi or beagles but as similar thing can be done here. It needs to be open source and "run on any server I happen to have" of course.

    Or perhaps Parallax could run such a service? I could visit https:my_device_id.parallax.com and I get a tunnel to my Propeller and a console through which I can update software on it, communicate with it, and generally manage things.


  • Heater. wrote: »
    Device discovery is a pain.

    But as this is the IoT world let's turn it around.

    1) The device connects over the net to some server out in the cloud.

    2) The user accesses the device through the cloud service.

    This is all done over HTTP and gets around all firewalls and NAT and so on.

    A brilliant example of this is the resin service: http:resin.io

    resin only works for boards running Linux, like the raspi or beagles but as similar thing can be done here. It needs to be open source and "run on any server I happen to have" of course.

    Or perhaps Parallax could run such a service? I could visit https:my_device_id.parallax.com and I get a tunnel to my Propeller and a console through which I can update software on it, communicate with it, and generally manage things.

    I suppose but I'd also like to be able to talk to my WiFi connected Propeller when not on the internet or not depend on a cloud service that might disappear.

  • Heater.Heater. Posts: 21,230
    I know what you mean.

    At least I would want the "cloud" service to be under my control. Movable from Google cloud to Amazon to Digitalocean to Azure or to my own publicly facing server wherever it may be.

    Which means the server for such a system can be on my own local private network. No internet required. On my own PC in fact.

    Which is what you want I think.

  • I saw that posting too.

    How about something like what Heater suggested, slightly modified:

    - ESP8266 runs at fixed IP of 192.168.0.1
    - presents a web page for uploading an eeprom image to the ESP8266, ie from a PC: http://192.168.0.1/upload.html?eeprom.bin
    - ESP resets prop, burns image
    - after upload, ESP maps port 23 telnet to prop serial
  • I setup that transparent serial link on the ESP and it works great for data. It's a great low cost bridge but I couldn't program a Propeller with it. I might have had the reset pin timing wrong or the IDE wasn't happy about something else, I don't know. You use virtual comm port software to trick the Prop IDE. It works great over the PST, but the IDE has been a lot of trouble. Maybe you can get it working, that would be great.

    There is additional info in this thread - http://forums.parallax.com/discussion/161949/prop-plug-wireless-programming/p1
  • Heater. wrote: »
    I know what you mean.

    At least I would want the "cloud" service to be under my control. Movable from Google cloud to Amazon to Digitalocean to Azure or to my own publicly facing server wherever it may be.

    Which means the server for such a system can be on my own local private network. No internet required. On my own PC in fact.

    Which is what you want I think.
    Yes, exactly. As long as the server software is open source, I don't mind if it's web hosted. Of course, there are big advantages to having it in the cloud.

  • I saw that posting too.

    How about something like what Heater suggested, slightly modified:

    - ESP8266 runs at fixed IP of 192.168.0.1
    - presents a web page for uploading an eeprom image to the ESP8266, ie from a PC: http://192.168.0.1/upload.html?eeprom.bin
    - ESP resets prop, burns image
    - after upload, ESP maps port 23 telnet to prop serial
    That works fine in a home setting but what happens if you are using 20 of these in a classroom? They can't all be at the same IP address.

  • Cluso99Cluso99 Posts: 18,069
    Love the ESP8266, especially with LUA.
    I am certain we can resolve the programming of a prop issue.

    For the server (home) there are some really neat products available now which beat the Raspberry Pi B2 IMHO.

    I have just bought a MQX TV Box to act as a home media box. Specs...
    4x ARM A5 @ 1.5GHz (S805)
    4x MALI 450 @ 600MHz
    1GB RAM, 8GB FLASH
    Runs Android 4.4 and Kodi
    Ethernet, WiFi bgn, HDMI, AV, SPDIF, 4x USB, SD
    Obviously has box 118x118x25, PowerPack 100-240VAC 50/60Hz output 5V @ 2A
    Got it for just under US$30 !!!

    An even better spec i68 TV Box ~US$70
    8x ARM A53 64bit @1.5GHz + PowerVR G6110 (RK3368)
    2GB RAM, 8GB eMMC FLASH
    etc
    Runs Android 5.1 & Kodi

    Then there's Intel Z3735F Baytrail Atom based Vensmile IPC002 ~US$100...
    4x Atom 64bit '86 @1.33GHz (1.83GHz max), Intel HD Graphics 646MHz
    2GB RAM, 32GB eMMC FLASH
    Comes with licensed Windows 8.1/ 10 (32bit???)
    Lithium Battery
    148x79x9.2mm
    No Ethernet (required USB dongle)
  • Could the ESP8266 be used in place of an XBEE as a transceiver? I was considering an nrf24L01 to experiment with. I want to modify an RC transmitter to send commands to another Propeller for a robotic project.
Sign In or Register to comment.