DLINK DIR505 router for WiFi connection to Prop
prof_braino
Posts: 4,313
The Propforth project looks at communications support for access to the Propforth command line. Often the results can be applied to general prop applications.
Beyond the default serial port, we can connect to the prop using bluetooth, the Spineret, and the Raspberry Pi. The RPi recently proved to provide a full liux system with wired ethernet for about the cost of a Spineret. The cheap HC05 and HC06 bluetooth module provide a short range serial connection. Now we find the DLINK DR505 may provide full inux system, wired ethernet, WiFi, and massive potential, for about $35.
The DLink source is PGL, the OpenWRT code has nightly builds
We get a linux system, 8MB flash, 64M ram, USB, wirred ethernet, and WiFi
To connect the prop, we just open the router, bring out 4 serial pins, and build environments
At this point we are talking to the prop; telnet to the router, talk to propforth command line.
The DIR505 is a standard linux, python, Apache, Lite HTT, standard servers and tools run on the router. The comms arer fast, it accept wifi connections, it can log into home network, we can put on network/intternet.
This might allow us to run for example an apache web server on tthe DI505, and use that to control the connected prop; and we could access the DIR505 served paged fom a remote web browser, ie iPad or Android device. This last part has not been implemented yet, you guys might have to help with the had stuff.
Other notes: Go is NOT poted to the routerr yet. no simpleide or openspin yet; we're just gettting router going.
Its mostly just a matter of setting up configuration files, and using the standad build process. The standard build process has something like 350,000 files and libraries, so we are going to set up some instructions and/or instructable for adding the serial port mod.
This same arangement could be used with other systems besides propforth. It should be applicable to SPIN and C environments, as well as other processors that can be compiled with gcc.
We should have something posted in the next couple weeks.
Is anybody interrested in this?
Beyond the default serial port, we can connect to the prop using bluetooth, the Spineret, and the Raspberry Pi. The RPi recently proved to provide a full liux system with wired ethernet for about the cost of a Spineret. The cheap HC05 and HC06 bluetooth module provide a short range serial connection. Now we find the DLINK DR505 may provide full inux system, wired ethernet, WiFi, and massive potential, for about $35.
The DLink source is PGL, the OpenWRT code has nightly builds
We get a linux system, 8MB flash, 64M ram, USB, wirred ethernet, and WiFi
To connect the prop, we just open the router, bring out 4 serial pins, and build environments
At this point we are talking to the prop; telnet to the router, talk to propforth command line.
The DIR505 is a standard linux, python, Apache, Lite HTT, standard servers and tools run on the router. The comms arer fast, it accept wifi connections, it can log into home network, we can put on network/intternet.
This might allow us to run for example an apache web server on tthe DI505, and use that to control the connected prop; and we could access the DIR505 served paged fom a remote web browser, ie iPad or Android device. This last part has not been implemented yet, you guys might have to help with the had stuff.
Other notes: Go is NOT poted to the routerr yet. no simpleide or openspin yet; we're just gettting router going.
Its mostly just a matter of setting up configuration files, and using the standad build process. The standard build process has something like 350,000 files and libraries, so we are going to set up some instructions and/or instructable for adding the serial port mod.
This same arangement could be used with other systems besides propforth. It should be applicable to SPIN and C environments, as well as other processors that can be compiled with gcc.
We should have something posted in the next couple weeks.
Is anybody interrested in this?
Comments
I've got a couple old routers that support the OpenWRT software. It will be interesting to follow along and see if there are compelling reasons to set one up.
We are working on OpenWRT routers and "Propeller to internet" connections here:
http://forums.parallax.com/showthread.php/156414-WiFi-amp-IOT-for-home-controllers-monitors-using-WR703N-20-routers-and-xx-WRT
I cannot see how you are going to get Apache and Python let alone Go to run on a machine with 8MB FLASH and 64MB RAM. However there is no need to. OpenWRT provides a tiny web server and the Lua language.
There is no way you are going to run SimpleIDE on there either. What are you going to use for graphics even if it did fit? Openspin possibly. I'm looking into getting just the Propeller loader from propgcc running on OpenWRT so that we can at least load binaries to a remote Propeller.
All in all this is a pain to do. People may dislike Raspberry Pis for whatever inexplicable reason but they are cheap and they can do this with a lot less hassle.
Still, I'm plugging away with my pair of D-Link 613-S1 routers and OpenWRT. So far so good.
I'm sitting on a pile of working, but useless linksys access points that have "just enough" resources for DDWRT.
Now you've got me curious if there is a serial connection on that board..
Hi januxnet! Welcome to the forums!
We should have something to show soon. We have the pictoral instructions to pop open the case and solder the four wires. Its really easy once you know how, but the first time is a BEAR without pictures. Right now we are working on a complete set of steps that will allow everyone to get the exact same results everytime. We discovered we had to prepare the user's PC environment or the instructions would not respond consistently. So we will begin will setting up a virtual machine so we can always build from a known, unchanging starting point. It taking a little time to set up the picky little details, but it should be ready to present shortly.
We mode tthe case of the DIR505 to run pwoer, ground Rx and Tx to a header. Its based on this stuff that you probably already know
http://wiki.openwrt.org/toh/d-link/dir-505
Our hardware mode is much the same, with more pictures.
@heater: We are not putting on Apache and Python as far as I know. We are not going to use simpleIDE at this point, if I recall its is not at version 1 yet. We are not going to use graphics. The DIR505 will be a headless linux node, we can pretty much do what we need from the command line, send any data to the Desktop PC, and do all the fancy graphics and number crunching there. The DIR505 is inteneded to provide the network and communications serices to get the data from the prop to the PC.
If we need a mobile terminal to the DIR505, I believe we are going to use a generic terminal program on any android device. This works great with the prop, and shuld be fine for linux command line. I would not want to do 8 hours of source code programming that way, but running a few commands to start tests and display data should be just fine.
We do not plan to use Go on DIR505. I'm pretty sure the equivalent stuff is present in the C libraries, and we won't have to do much extra development. Sal might do some pass-through from Go on the desktop to MCS channels (similar but as you point out entirely different from CSP channels) on the prop.
We see using the DIR505 in two general modes:
1) DIR505 plugged into the wall, providing power and internet services to the embedded application on the prop
2) DIR505 running of batteries, internet services to the embedded application on the prop. I'm looking into the cheap USB power banks from china.
Good News!!! Your DIR-505 seems to have 8Mbytes of Flash (my device has a mere 4Mbytes and only 864Kbytes of free space after loading OpenWRT) AND you seem to have a USB port that will allow an extended root file system.
http://wiki.openwrt.org/toh/d-link/dir-505
In my own case, I have been rather dimwitted and slow about all this. But have gotten an MR3020 to work right and am moving on the using Forth on the Propeller with it. Cluso and Heater seem to be moving along nicely.
If you need a lot of program space in a router, and IF it has a USB port; you might want to use the OpenWrt Ex-root package to add an SD memory stick to extend the file system that is always rather limited on routers.
Sorry, you did mention all those things as possibilities for the router, I simply wanted to warn that I don't think most of them are possible.
The 505 is an interesting device, lots of FLASH and RAM space and a 1GHz CPU ! The USB could come in very handy.
It's not clear to me why you need to use the OpenWRT tool chain and build process. Surely the ready made images downloadable from the OpenWRT site work well enough. That is certainly the case for the D-LINIK 613 routers.
Servers, daemons, utilities, kernel modules, etc. And the top of the list included 4th.
Heater has also generated an executable binary from C code of the Propeller-loader and installed it on a DIR-615 OpenWrt We are waiting to see how he gets it to actually load a binary into a Propeller. I am sure there will be good news soon.