Raspberry Pi Zero W headless setup

There seems to be conflicting info out there for how to accomplish this.  Compounded with the Zero’s different micro ports, it’s easier if you can set it up as a headless device.  Unfortunately, I found that if you try to do this locally, with a monitor and keyboard, the order of operations causes the ssh keys to be faulty.  So, let’s make it easy and just do it all from the start.  Download Raspbian Jessie Lite.  I believe the version I got is 03.02.  In Windows I’m using Rufus to write the disk image.  Select the disk image from the folder icon in the lower right.  You need to search for all file types, as it’s not an ISO.  Once you select it, Rufus will automatically determine that it needs to be a DD write for the file.  Fire it off on your micro SD card and let it finish.  It will take a few minutes.

When it’s done you’ll have a single partition viewable in Windows for the SD card.  Right click and create a Notepad file called ssh.txt in the root of that partition.  Just create it.  Don’t edit it.  Create another Notepad file and call it wpa_supplicant.conf.  Open that in Notepad and add the following:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

    ssid="Your SSID Here"
    pairwise=CCMP TKIP
    group=CCMP TKIP

Modify the SSID and PSK to match your WiFi settings and save it.  Pop the SD card out, pop it into your Zero W and boot it up.  Wait a few minutes, and then you’ll need to find the dhcp address the Zero W received.  For me, I checked the dhcp scope on my firewall and found a new dhcp lease for a device named “raspberrypi”.  Open up Putty and ssh to that IP.  You should be connected at that point.  Probably a good idea to run raspi-config and update the password and host name.

RN-XV, Arduino and funny characters

No, I’m not talking about myself. I’ve embarked on an ambitious project that is sure to never get completed. On my way there I’m working on getting an RN-XV “cheap” WiFi adapter talking to an Arduino. I’ve had all kinds of issues getting it connected and it all comes down to spaces.

I’ll have more detail later about what I’m trying to do but, my immediate issue boiled down to my use of $ in my passphrase. The RN-XV and actually the RN-171 it’s based on has a nice feature of escaping spaces in SSIDs and passphrases with a $ by default. This took some digging to find out but once I did I was able to change it.

Connect to the RN-XV from your console. I used the Adafruit XBee adapter kit through a com port on my PC. Do $$$ to get into CMD mode. From there you can do a couple of things. For my purposes I needed to do the following:

<2.30> get opt replace

You can see I’ve already changed it here but the default would be Replace=0x24 which is $ in ascii. To change it:

set opt replace 0x26

Then don’t forget to “save” or it’ll revert to the wrong character. You can also check the saved WLAN settings with “get wlan”.

Now that I have it successfully connecting, getting it to do something might be a little more of a challenge. I’m trying to work with this library but it’s proving to be a challenge. More here as I figure that out.