Shop OBEX P1 Docs P2 Docs Learn Events
wifi sd cards — Parallax Forums

wifi sd cards

Graham StablerGraham Stabler Posts: 2,510
edited 2013-10-11 15:31 in Propeller 1
I recently heard about these things:

http://uk.eye.fi/

An SD card with built in wifi, normally used as an easy way to get files off a camera. I'm wondering it if might have some applications with the propeller for data capture and the like.

Graham

Comments

  • Mike HuseltonMike Huselton Posts: 746
    edited 2011-02-19 16:49
    I purchased an EyeFi card about a year ago. The connection was flaky. A good concept, but alas, poor execution.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2011-02-19 17:31
    That looks clever. Wifi is certainly getting cheaper. I got a $110 chinese apad recently. Yes, it can browse the net, but it is a bit slow. But I got "Basic4Android" and when you compile and download that is done with wifi. That would be cool on the propeller. I put a whole lot of mp3s on the apad, and when you play a song it grabs the lyrics off the internet via wifi and then scrolls them as the song plays. That would also be cool on the propeller!

    The eyefi is 50 pounds. I might wait for the price to come down a little.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-02-19 18:17
    What about Bluetooth at $1.30 and a prop running micha's code? PCB coming...
  • Brian RileyBrian Riley Posts: 626
    edited 2011-02-19 20:03
    I purchased an EyeFi card about a year ago. The connection was flaky. A good concept, but alas, poor execution.
    My experiences withEye-fi were quite the opposite ... I had one of the original cards and walked a 100 foot radius around my house snapping pictures as I went. They all got there fine. I have sat here by my computer while my wife was out on the lawn taking pictures of the dogs and saw them coming in one after another. I now have a newer 4 GB card and it works fine. Network here is 802.11N/G with Apple Router.
  • Mike HuseltonMike Huselton Posts: 746
    edited 2011-02-20 10:08
    In light of this news, I'll reopen the EyeFi project and reconsider my hasty conclusions.
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2011-02-20 10:16
    Cluso99,

    That's really cool, I'd not seen that before. What I like about the eyeFi however is that it will sort of act like another parallel system, I can stick it in my SD based systems and suck off the generated files without any trouble and move it from one system to another, all with no expense of cogs etc. I suppose I could make my own version using a further propeller, not a bad idea but I much prefer wifi to bluetooth for my purposes.

    Graham
  • wjsteelewjsteele Posts: 697
    edited 2011-02-20 15:06
    The real problem with WiFi cards is the fact that they are proprietary. You can only use image files and have it transfer and you have no control over where the images go. I'd love to be able to send data to the WiFi card as well, but alas, it's a one way thing.

    Bill
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2011-02-20 16:09
    Actually, there is an SD card made for wifi connectivity that allows for the transmitting and receiving of data. It was made for palm devices with SD card slots before they where made with built in wifi. It's older technology, (like, what, 4 years?!?!), but it looks possible. I don't own one, but here's a link:

    http://www.amazon.com/gp/aw/d.html/ref=redir_mdp_mobile/180-9801891-9193100?a=B0002XJ9IY
  • RaymanRayman Posts: 14,662
    edited 2013-10-08 03:23
    Got a 4 GB Eye-Fi "connect" card from Amazon.com. Was about $28.
    Seems like this would be an easy way to get data to a computer...

    There are a couple rules I've found for the files though.
    They must have a image extension, like "jpg".
    They must have a number in the file name (like cameras do).
    They must be at least 20kB in size.
    They must be in a folder such as "DCIM".

    Real problem I'm having is that both FSRW and Kye's SD card codes won't open files on this card.

    But, I did google up something from Adafruit where they did something similar, so maybe it's possible to make this work...
  • Heater.Heater. Posts: 21,230
    edited 2013-10-08 04:07
    There is also the Transcend WIFI SD cards. Which run Linux internally and can be conveniently hacked:
    http://hackaday.com/2013/08/12/hacking-transcend-wifi-sd-cards/
    http://haxit.blogspot.ch/2013/08/hacking-transcend-wifi-sd-cards.html
  • zappmanzappman Posts: 418
    edited 2013-10-08 04:48
    Rayman wrote: »
    Got a 4 GB Eye-Fi "connect" card from Amazon.com. Was about $28.
    Seems like this would be an easy way to get data to a computer...

    There are a couple rules I've found for the files though.
    They must have a image extension, like "jpg".
    They must have a number in the file name (like cameras do).
    They must be at least 20kB in size.
    They must be in a folder such as "DCIM".

    Real problem I'm having is that both FSRW and Kye's SD card codes won't open files on this card.

    But, I did google up something from Adafruit where they did something similar, so maybe it's possible to make this work...

    Rayman,

    I thought I let you know that the "Eye-Fi™ 4GB SD Card + Wi-Fi" is on clearance sale at RadioShack for $10.48
    http://www.radioshack.com/product/index.jsp?productId=10934904.
    I found and purchased one a couple of weeks ago in a local RadioShack.
    Thanks for the info on the rules, I had not figured out the "at least 20kB in size" and "have a number in the file name".
    Now I know why some files would transfer and others would not.

    zappman
  • RaymanRayman Posts: 14,662
    edited 2013-10-08 06:10
    Was just looking at Amazon, and I see there are several versions of wifi SD cards out there...
    Maybe I'll try a different version and see if I can get the Propeller to talk to it....

    Being able to hack the Trancend card seems like a real advantage. If you had a lot of free time to play around with it anyway...

    Looking at the Toshiba FlashAir now. Claims to be fully SD compliant...
  • RaymanRayman Posts: 14,662
    edited 2013-10-08 13:19
    Just picked up the Toshiba FlashAir from Microcenter...

    I think I like this one a lot better... Although, it only has the direct link option. This means that I have to connect to it as if it were a wireless access point...
    After connecting, I browse to http:\\192.168.0.1 and can see all the files.

    One nice thing is that I can see files in the root folder. Also, the files can have any extension.
    Was able to use the regular FSRW (from OBEX) to save a ".dat" file and then download it to a computer.

    Was able to download a file with a Mac AirBook this way too...
  • Don MDon M Posts: 1,652
    edited 2013-10-08 17:07
    Rayman- Wow neat card. Opens up some unique possibilities. I may order a few to experiment with.

    I found this interesting discussion on some "undocumented" features of the card. Maybe you can try some of these and report back?

    https://groups.google.com/forum/#!topic/makerbot/Rst5ZIfs5L0
  • RaymanRayman Posts: 14,662
    edited 2013-10-08 17:44
    Thanks Don! Good info there. Be nice to upload files too... Tried to edit that config file but it's marked as read only... Maybe have to change permissions...

    The timeout is a bit of a pain though... Maybe can fix that in the config file too though.

    The timeout is a battery saving feature that turns off the wifi after a few minutes. Cycling power brings it back on, but I'd rather have it just stay on...

    BTW: Having it join an existing wifi network would be maybe nice too, have to try that as well...
  • Tracy AllenTracy Allen Posts: 6,664
    edited 2013-10-09 08:09
    The antenna is inside the card right, and so, does it work when the card is in a metal holder on a pc board above a ground plane? Intriguing possibilities there.
  • Don MDon M Posts: 1,652
    edited 2013-10-09 08:21
    It's a full size sd card so my guess is the antenna is out at end since the card isn't fully buried into a socket.
  • RaymanRayman Posts: 14,662
    edited 2013-10-09 09:25
    I guess it's kinda amazing that it radiates so well in my test setup...
    I'm using a PSB board: http://www.rayslogic.com/Propeller/Products/PSB/PSB.htm
    You can see in the picture that the SD socket has a metal cover that is grounded and there is also a ground plane under it.
    Still, I got reception on a computer in my living room with this setup down in the basement, at least 30 ft away...

    I imagine the antenna is right at the outer edge of the card...
  • RaymanRayman Posts: 14,662
    edited 2013-10-09 17:09
    Just did some more testing...
    I'm even happier with the Toshiba FlashAir now.
    After changing the config file, the timeout is now very, very long and I can upload files to the card.
    Actually, I tried 4 different file types and only 2 worked (.dat files). A .side and a .png gave "NG" instead of "Success", which I suppose tells you that it didn't work.
    It could be that the files were too small. Or, maybe it didn't like the file extension, not sure.
    Files went to the root folder, which is good for me, but it looks like you can change that.

    I was looking around on the sd card for the config.cgi file, but it's not there... I guess some files are just on the wifi side...
    Also, looking around the web I see there's a FlashAir developer forum. Probably more info there.
    But, I think I have all I need for now...
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-10-09 23:10
    I think I like this one a lot better... Although, it only has the direct link option. This means that I have to connect to it as if it were a wireless access point...
    After connecting, I browse to http:\\192.168.0.1 and can see all the files.

    One nice thing is that I can see files in the root folder. Also, the files can have any extension.
    Was able to use the regular FSRW (from OBEX) to save a ".dat" file and then download it to a computer.

    One of the limiting things with large C programs is the time taken to download. When you first start writing propeller programs in Spin they work fine, but if the program grows too big the next option is to move to C. But even large C programs (eg more than 500k) get tedious waiting for downloads.

    These flash wifi cards could be the answer. If the IDE was coded so it could be told about the flash card, you could do one download of a bootloader program to eeprom using a wired connnection, and from then on, unplug the propeller board. Instead of the IDE searching for a working prop board on com port X, it now is searching for a wifi device. If it finds this, it could do some simple handshaking and all downloads of large programs could happen almost instantly.

    Spin programs could be downloaded a lot faster too, and no need for wires. You could even design Propeller boards with no download socket, saving space. Use any prop board with a download socket to program an eeprom just once with a bootloader program that knows about SD cards and put that eeprom in a socket on your new board. Then everything could be done via the wifi connection. Prop tool would need changing though...
  • RaymanRayman Posts: 14,662
    edited 2013-10-10 02:45
    That's an interesting thought... I just saw the sd bootloader in OBEX... I suppose it would be a simple trick to use that and then upload Prop code over wifi to the SD card...
    It seems that it could be simple to create a helper app that monitors the build folder and copies any new propeller executable files it finds over to the SD card...

    Could be nice for robots... Actually, Toshiba gives a list of where this kind of thing could be useful here:
    https://flashair-developers.com/en/business/application/

    BTW: There are a few other brands of wifi cards out there that might work too...
  • MicksterMickster Posts: 2,694
    edited 2013-10-10 10:36
    Rayman wrote: »
    After changing the config file, the timeout is now very, very long


    Does this mean indefinitely?

    Edit: Ah, just found it:

    Set the automatic time-out period for Wireless LAN functionality.
    When the Wireless LAN mode is 4 or 5, the Wireless LAN functionality will stop if other devices are not connecting to the FlashAir for the time specified by this parameter.
    The available values are from 60000 to 4294967294, with a default value of 300000. Time is measured in milliseconds.
  • MicksterMickster Posts: 2,694
    edited 2013-10-10 11:25
    Also....

    "FlashAir card versions
    There are currently two types of FlashAir cards: FlashAir Class6 and FlashAir W-02 Class10. The main differences between these types are speed and Class10's accelerated wireless LAN communication. Class6 supports firmware version 1.00s and Class10 supports 2.00s which has massively enhanced APIs. Application developers will need to make sure their code supports both versions of the API."
  • BasherBasher Posts: 25
    edited 2013-10-10 14:18
    I imagine the antenna is right at the outer edge of the card...

    I picked this sdio wifi card in a bargin bin ages ago but it is way beyond my ability to get it to do anything. I cracked it open to see if any of the chips had datasheets on the web, but had no luck. I assume the antenna on this one is the big thick trace along the top edge of the card?

    IMG_20131010_214124.jpg


    I'm going to order myself one of the flashair cards.
    960 x 1280 - 391K
  • RaymanRayman Posts: 14,662
    edited 2013-10-10 15:11
    It's pretty amazing they can fit all that stuff into an SD card... Still, it'd be more convenient for me if it was uSD...

    BTW: Mine is 8 GB and class 6.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2013-10-10 19:26
    It seems that it could be simple to create a helper app that monitors the build folder and copies any new propeller executable files it finds over to the SD card...

    To start with a simple concept, I wonder if you could have a little batch program that is one line to copy a file? Instead of hitting F10, you would compile and save as a .bin file and then click on the icon for the batch program to transfer. If the windows were kept open, that still might be quicker than an F10 on a large program. At the propeller end just hit the reset button.

    Or, slightly fancier, you could keep the download cable connected and the batch program can run a tiny bit of code to toggle the reset line.

    re helper programs, say you split a file into two parts - the data file (eg a .bin file) and then a message file. The message file might be just one line of text and it can contain instructions like 'copy download.bin to myprogram_ver4.3.bin'. The message file might be called 'message.txt'. Programs at either end (PC or in Spin) could be looking regularly to see if 'message.txt' exists. If it does, read it, do what it says, then delete it. That could solve the problem of downloading 'myfile.bin' and then a minute later, downloading another 'myfile.bin' with the same filename but newer code because it is harder for a control program to distinguish between the two (unless you use time date stamps, but then you need a clock on the propeller board).

    I hope this is simple enough to do with batch programs. Or at worst, very simple command line programs.

    Where this would be very handy though is when writing programs that use a lot of graphics - eg touchscreens. With those programs the code might be only 10kb, but it would be associated with icons and pictures that can be megabytes. It is tedious to keep unplugging the SD card all the time, and would be much easier to send that data wirelessly.

    I see on ebay they are about $35 with free shipping.
  • RaymanRayman Posts: 14,662
    edited 2013-10-11 02:45
    Just ordered a couple more for $36 on Amazon Prime, ship and sold by Amazon... My local Microcenter also had them for about the same price.

    I have to think that a direct cable connection is best for software development, if that is possible.

    But, if you have a deployed system, then maybe this gives you an easy way to do firmware upgrades... On startup, your code could check for a specific file on the SD card and program eeprom with it when found...
  • max72max72 Posts: 1,155
    edited 2013-10-11 15:31
    Rayman wrote: »
    On startup, your code could check for a specific file on the SD card and program eeprom with it when found...
    It already exists.
    IIRC it is Mike's code.
    I have some modifies copies around, but it works well. In case the original is not available I'll post them.
    You need a 64k eeprom at least. Boot loader in the bottom half. Main program is on the upper part.
    You can put a file in the sd card and on reboot you can
    Update boot loader
    Update main program
    Run the file without writing eeprom.

    Sorry I cannt find the original link at the moment.
    Massimo
Sign In or Register to comment.