Sydney

Historic Hero of Waterloo building illuminated at dusk.Sydney is a city built for walking, exploring, and photography.

We started our exploration of the city on a walk exploring the oldest pubs in Sydney. It turns out that there are four or five pubs each claiming the title as the oldest. Dave’s Pub Tours gave us a nice overview of these historic pubs and some of the city’s history as well. Hart’s Pub was our first stop where we met ‘Dave’. The Hero of Waterloo (photo on the right), Lord Nelson’s Brewery and Hotel, and the Australian Hotel were the other candidates we visited.

Each venue had something unique about it and there were interesting narratives on the history at each stop. Evidently, there was some trade in shanghaied sailors in Sydney in the 1800s. At one spot we went down into the basement to see shackles in the walls and tunnels that allegedly were used to move drunken sailors to their ‘new’ ship when they were shanghaied. Julie tried on the shackles behind one set of iron bars… but we decided she wasn’t seaworthy enough to get shanghaied.

Sydney Harbor

Rumor has that when you fly out of Sydney they check your camera for photos of the Sydney Harbor Bridge and Opera House. You pay a tariff if you didn’t take the required photo. {Completely untrue, but someone will believe this…)

Not wanting to risk it, we headed out early one morning with cameras ready; ‘Balls Head Reserve’ was our destination. Just to get you oriented, we’ve included a map of the Sydney Harbor below. The Sydney Harbor Bridge is at the top center and the Opera House is below and to the right (east). Further to the east is Balls Head Reserve and at the tip, Mrs. Macquarie’s Chair.
Map showing line between Sydney Opera House and Sydney Harbor Bridge.

Mrs. Macquarie

Mrs. Macquarie was the wife of the governor in Sydney in the late 1800s. The story goes that she missed her home in England severely and would sit in her chair on that strip of land and watch the ships come and go in the harbor. I suppose that for her, these ships represented her connection with the country that she pined for.
View of Sydney Harbour Bridge over blue water under a clear sky.

Today, the tip of the reserve is a great point not only to watch the ships but to photograph the Sydney Opera House and Bridge. With the early morning sun behind us, there was fantastic and classic view of both the bridge and Opera House across the water. If you have a clear morning, you won’t fail to get a great photo from here. Be sure to get a picture of the large stone sculpture of Mrs. Macquarie’s Chair on the side of the penisula away from the Opera House.

Sydney Opera House

Modern architectural interior with curved walls and dramatic lighting.When an inside tour of the Opera House was suggested, I have to admit that I was somewhat less than excited. So, with some trepidation, I followed Julie into the Opera House to see what this grand building had to offer. The guided tour actually turned out to be very interesting and the design and appearance were stunning.
It should have occurred to me from looking at the outside of the building, that there would not be a lot of straight lines inside. I tried to capture the space in pictures, but I couldn’t. There are wide sweeping staircases, and intimately small theaters and venues. The soaring concert halls and common spaces offer gorgeous views of the harbor. The house uses an interesting mix of rich colors, wood, and windows that give those gorgeous views. What an amazing place the Opera House is. Don’t miss it if you get to Sydney.

We went on a short bus tour of the city and arrived at Bondi Beach for lunch. Sydney has a lot of beaches, but Bondi Beach is probably the most famous. The beach is a huge crescent of light-colored sand and there were tons of people. You can walk the beach, relax on the sun or, like us, just have lunch. We ate at a restaurant just off the beach and just watched the coming and going of people on the beach.

Harbor Cruise

Another relaxing afternoon was spent on a Sydney Harbor cruise. It was interesting to get a view from the water as it provided a different perspective of the city. Another thing was that it provided us with an appreciation of how large and how well protected the harbor was. The harbor has, literally, hundreds of kilometers of shoreline.
Modern city skyline with high-rise buildings near the water under a clear blue sky.
As we headed out from the Circular Quay (pronounced key) we first passed the Sydney Opera House and the Sydney Harbor Bridge. From the boat, we had one panoramic view after another and we headed down the waterway and back again. Kayaks, sailboats, and ferries dotted the water along with larger ocean ships. It was easy to see why Sydney was settled right there, alongside the harbor. In the early years, the city was nearly totally dependent on trade by shipping.

When we’d visited the Sydney Opera House earlier, we’d heard that there was an evening laser light show that used the roof of the opera house as a screen. That very same night we walked over with our cameras in hand. While the display lasted only 7-8 minutes, it wasn’t disappointing. You can see a video of part of the show here.

Click here for the Sydney Photos Gallery
Click here for the Sydney Opera House Photos Gallery

Northern Territory

The Ghan Train runs from Adelaide to Darwin, across some of the most challenging and desolate parts of the Australian Outback. We boarded the train in Alice Springs, which is just about the mid-point on the route.

The Ghan Train

“The Ghan” is a sort of throwback experience to the days of luxury train travel. From the moment we boarded the train I felt like we were in an Agatha Christie novel. As we were settling into our ‘cabin’, the consigner stopped by to explain everything and answer our questions.
Passengers relaxing in a train's lounge car with drinks and casual seating.
Lucky for us, the bar was the next coach forward and the restaurant was just in front of that. First stop, the bar. We sat with many of our traveling companions from the group and had a drink before dinner. Meals and drinks are included, so what the heck! Our dinner was elegant and delicious; Linen tablecloths, fine silver, and stemware. This is definitely the way to traverse the Australian Outback.

Passengers relaxing in a train's lounge car with drinks and casual seating.By the time we’d returned to our cabin, it had been set up for sleeping with an upper and lower berth. We drew straws and Julie got the upper berth. Then we drew straws three more times until Julie got the lower berth. (Funny how that worked out…) While I slept great, the swaying of the train woke Julie up several times through the night. Before we knew it, it was time to get up.

Like dinner the evening before, breakfast was delicious and the coffee was hot. We had a planned stop at Katherine Gorge at 9:00 AM. I liked to think that they were taking on water and coal for the engine, but the engines were diesel and it was simply an opportunity to see the gorge. Where was Agatha Christie when you need her?

Kathrine Gorge

Passengers relaxing in a train's lounge car with drinks and casual seating.1,000 km north of Alice Springs, Katherine Gorge is a great stop for a little sightseeing. Actually a series of seven separate gorges, Katherine Gorge was just entering the wet season. Over the coming months, the water will be upwards of 18 feet deeper than it was when we were there in November. We cruised two of the gorges, walking between the two because of the low water levels. We had a glimpse of ancestral drawings on the gorge wall along the way. The geology of the gorges is interesting and the views stunning. Before we knew it, we were back on the train and headed another 300 km down the tracks for Darwin.

Kakadu National Park

Kakadu, located several hours east of Darwin, is almost 20,000 square kilometers – that’s about half the size of Switzerland, so we only got to see a small portion of what this place has to offer. The park offers cave paintings, the oldest of which are up to 20,000 years old. The park also has more than 10,000 crocodiles – a tenth of all the crocs in the Northern Territory! This was the start of our ‘beware of crocodiles’ portion of the trip. If there’s water, there are crocodiles. Over the following week, we saw countless crocks, the largest was about 18 feet.

The cycle of the region is for the floodplains to flood during the wet season with water covering thousands of square kilometers. Gradually the water retreats and the floodplains dry – this is the dry season. No winter, spring, summer, and fall – just wet and dry. As we visited at the end of the dry season, much of the wildlife had retreated and concentrated in the remaining wetlands and rivers.

A crocodile partially submerged in water near vegetation.We took the Yellow Water Cruise one afternoon and saw plenty of crocks in the water, water buffalo on the floodplain and tons of birds. At one point we came across the remains of a large water buffalo killed by a crock.

PWhistling ducks and magpie geese were abundant as we cruised through the wetlands. The guide on the boat kept pointing out different birds and sometimes got excited – ‘ooww, there’s a blue-eyed ring-nosed fish trumpeter…’ or something similar. We must have had ‘bird people’ on the boat because they also got excited… ‘Frank, look, that’s a male frog darter, what impressive plumage…’ (Frankly, they mostly looked the same to me). The camera clicked away.

A woman stands next to a huge termite mound in a natural setting.Another notable aspect of the park is the abundance of termite mounds. These monsters can be over 25 feet tall. We stopped at one that was maybe 13 feet high and had our pictures taken with it. I kept looking over my shoulder for the swarm coming out of mound to carry us away, but it never came. Before coming to Australia, i’d always thought the mounds were sort of crusty-soft or sandy, but they’re not. Through some chemical process, the termites build the walls of the mound to be nearly as hard as a rock. I knocked on one to get an idea of how hard it was – it was solid. Then, when I thought I heard a rumble of termites massing for an attack from inside the mound I ran for the safety of the bus.

We heard a story of a young guy, who may have consumed some number to beers, who then drove his car into a termite mound. His car was destroyed and the mound remained. There is no truth to the rumor that he was then carried away and into the mound by soldier termites…

Nourlangie Rock Walk (Burrungkuy)

The Nourlangie Rock Wall is one reason why Kakadu is World Heritage-listed for outstanding cultural values. With its stunning rock paintings, this famous site documents life in the region from 20,000 years ago to the first contact with European explorers. We took a walk through this area; it was like exploring an outdoor museum, viewing several different examples of art from different periods.

Unfortunately, those of us that left our bug nets behind were frequently attacked by swarming insects. The bugs can be one of the distractions at this time of the year. A lightweight bug net is an east remedy. Add to that the heat and humidity and you can understand why we didn’t linger there too long. While we were there we did see some incredible wall painting.

In order to get a bird’s eye view of the park, Julie and I took a ride in an airplane over the park. The area is a mix of rock formations separated by broad wetlands or narrow rivers. Australia had done a wonderful job of preserving the area in its natural state. The flight provides a wonderful perspective on the diversity of the terrain and the scale of distance. There is little sign of human presence outside of several small towns.

Australia’s Northern Territory is a wonderfully diverse region that shouldn’t be missed. If you have the time, The Ghan Train is the best way to get there and enjoy a unique experience in the process.

Northern Territory Photos

For more information, check out the following links
Ghan Train
Katherine Gorge
Kakadu National Park

PlatformIO for Arduino on Linux Command Line

So I had a challenge that required me to keep running up and downstairs as I was troubleshooting a new project. I’m having a problem with a temperamental water heater and decided to monitor it remotely. I have a photo-resistor taped to the water heater’s status LED and I use an Arduino Nano to capture and time the LED flashes and gaps. Then I send the results out the Nano’s USB interface to a Linux server I have running in the basement, conveniently close to the water heater.

Not having a laptop, I was using minicom to watch the USB traffic remotely from my desktop on the main floor of the house. Based on my observations of the USB traffic and minimal documentation on the Honeywell WV4460 temperature control, I’d come up with a programming change, take the stairs to the basement, disconnect the USB, pull the Nano and trek back upstairs to reprogram and flash it. While this started to become a chore, things got a little better as I employed a second Nano I had laying around. Now I’d reprogram the second board and just swap them. I still had to run up and down the stairs, but other than the device port changing every time I swapped out a board, it was a bit easier.

About the 10th trip back downstairs I had a thought. (First I thought – how many times is this gonna take to get it right…) My next thought was recalling that a while back I installed PlatformIO and Atom on my windows machine just to take it for a spin programming ESP8266 boards. Since it’s supposed to work with Arduinos and run on Linux so I wondered if it had a CLI. (My Linux server is CLI only with no GUI). Sure enough, it did and since I already have pip installed –
Sudo pip install -U platformio

The directory layout under Linux is the same as on Windows so I created an Arduino workspace named wheat_v3 (for WaterHEATer version 3) and initialized it.
cd ./wheat_v3
platformip init
platformio init --board=nanoatmega328

I then created a main.cpp in the src directory and did a quick copy/past of the Arduino native code, made some minor changes and saved it. Then from the ./wheat_v3 directory this is what my edited platformio.ini looks like:

[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino
upload_port = /dev/ttyUSB1

I ran platformio run –target upload a few times and cleaned up a few errors. Once the issues were cleaned up I got a clean compile and upload! Now each time I need to make a change to the code on the Nano I just kill the server side application to release the USB port and compile/upload. This is so fast and easy you’ll love it if you’re interfacing a micro-controller with Linux.

Raspberry PI GPIO

Raspberry Pi connected to a breadboard with LEDs and resistors.

On Raspberry PI I use the WiringPi library for both C and Python development. Below is an example of cycling through three GPIO pins to light up a set of LEDs.

  • GPIO 17 – Pin 6 maps to the WiringPi logical pin 0
  • GPIO 22 – Pin 7 maps to the WiringPi logical pin 2
  • GPIO 27 – Pin 7 maps to the WiringPi logical pin 3
[code lang=”c”]#include int main (void) { int offset; offset = 100; wiringPiSetup () ; pinMode(0, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); for (;;) // Loop continously { digitalWrite (0, HIGH) ; delay(offset); // delay ‘offset’ miliseconds digitalWrite(0, LOW); // turn off 0 digitalWrite(2, HIGH); // turn on 2 delay(offset); digitalWrite(2, LOW); // turn off 2 digitalWrite(3, HIGH); // turn on 3 delay (offset); digitalWrite(3, LOW); // turn off 3 } // Loop back and start over return 0 ; }[/code]

Compile using gcc:

#gcc gpiox.c -o wp gcc wpiox.c -o wp -lwiringPi

The ‘-lwiringPi’ tells the gcc compiler to use the wiring Pi library. Then run using…
#./wp

And watch the LEDs flash…

Wireless RFM69HW – Part II

Gateway Node

The weekend is here and another chance to start poking around with my new RFM69HWs. Here’s my plan. I initially want to get the gateway node connected to a Raspberry PI in my basement via I2C. (I know, there’s probably an easier way, but, hey – I’m doing this for fun and to get better understanding of how I can leverage these boards.) The Pi should be able to poll the gateway periodically to get updated temperature data. I’ll figure out the logging later, by MySQL and a basic graph should give me a good view.

Close-up of a labeled circuit board with various pins and components.Connecting the Anarduino Gateway (GW) to the Pi is pretty straight forward. The GW uses 3.3VDC which is available on Pin 1 of the Pi. The I2C pins on the Pi are close by as well on Pin 3 and 5 with a GND pin just down the way at Pin 9. You can see in the image on the right that the 3.3 VIN and GND pins are on the same side as the analog pins; that makes wiring easy. In the following table I’ve laid out the pin mapping between the Anarduino and the Raspberry PI.

[table “T1” not found /]

The heart of the code for the gateway is very compact. Lines 7-9 initialize the board with the defined frequency, network and node ID. These are configured with #define statements. In this case the board is 433 mhz, the networkID is 100 and this node is set as 2.


#define NODEID 2 // GateWay - each node must be unique
#define NETWORKID 100 // Same on all nodes that talk to each other
#define FREQUENCY RF69_433MHZ

[ccN lang=”c”]
void setup() {
Serial.begin(9600);
delay(10);

// RFM69HW setup
Serial.println(“RFM69HW config and setup…”);
radio.initialize(FREQUENCY, NODEID, NETWORKID);
radio.setHighPower(); // only for RFM69HW!
radio.encrypt(null);
Serial.println(“RX at 433 Mhz”);

Serial.print(“GPIO and I2C config and setup…”);
Wire.begin(SLAVE_ADDRESS); // initialize i2c as slave

// define callbacks for i2c communication
Wire.onReceive(receiveData);
Wire.onRequest(sendData);
Serial.println(“\nReady.”);
}

void loop() {
char inData[10];

if (radio.receiveDone())
{
memset(inData, 0, 10);
Serial.print(“#[“);
Serial.print(radio.SENDERID, DEC);
Serial.print(“] “);
for (byte i = 0; i < radio.DATALEN; i++){ Serial.print((char)radio.DATA[i]); inData[i] = (char)radio.DATA[i]; } if(inData[0] == 'T') strcpy(cT, inData); if(inData[0] == 'B') strcpy(cB, inData); Serial.print(" [RX_RSSI:"); Serial.print(radio.RSSI); Serial.print("]"); if (radio.ACKRequested()) { byte theNodeID = radio.SENDERID; radio.sendACK(); Serial.print(" - ACK sent."); } Serial.println(); } } [/cc] Lines 30-37 handle data from the remote node. Temperature data is prefixed with 'T' and battery data with 'B'. Both are stored and delivered to the Raspberry Pi on I2C request. Next let's look at the remote node.

Remote (Sensor) Node

Last week I added an antenna to each of the boards. This week I’ll design and build the remote temperature sensor. I selected a SparkFun TMP102 sensor; it’s small, fast and easy to work with. Because the remote node will be running on battery, I also wanted to add the ability to monitor the current battery output so I can (1) know when I need to replace the batteries but also (2) so I can optimize the configuration of the board to maximize battery life.

Circuit diagram showing TMP102 temperature sensor connected to RS485 module.
RFM69HW Anarduino Mini with TMP102 Sensor

The two resistors act as a voltage divider with the resulting voltage compared to the internal 1.1v reference. Other than that you can see the connections are pretty straight forward with the I2C SDA and SCL pins connected between the sensor and the Anarduino.

Power consumption proved to be an issue as the remote node was rapidly chewing through the battery. I found a library (LowPower.h) that looked pretty good and installed it. SO far I’m seeing good results. Here’s the headers for the node:

Setup if pretty sparse with the reference voltage set to INTERNAL – 1.1v and the RMF69HW is configured. Because I’m not overly concerned about the privacy of temperature data I’ve set encryption off, however it’s nice to have this feature available. The RFM69HW supports a high-power mode which I’m using.

Wireless RFM69HW – First Steps

Close-up of a labeled circuit board with various pins and components.A week ago I got a set of HopeRF Anarduino Mini RFM69HW boards in the mail. These boards are similar to an Arduino Pro Mini but have a RFM69HW wireless module mounted on them. They’re reportedly 100% Arduino IDE compatible and run at 8Mhz. The 6-pin header interconnect is an unpopulated set of six IO interfaces for FTDI type USB to UART (or similar) module or cable. The board also supports all the GPIOs you’d find on a similar Arduino board plus two additional analog pins, A6 and A7. You can see on the image here the FTDI headers and the four GPIO pins I’ll be using.

First things first, I soldered a set of straight male pains on the two GPIO interfaces and a set of 90 degree pins on the FTDI interface. After downloading and installing the RFM69 libraries I was ready to go. Then I connected a SparkFun FTDI 3.3VDC Basic Board to the FTDI interface, plugged in a USB cable and fired up the Arduino IDE. Worked like a charm.

On the 1.6.4 version of the Arduino IDE you have to select the board, the processor and COM port. Initially I tried the Arduino Mini with no luck. After poking around on the internet I found a recommendation for using an Arduino Pro Mini setting and that did the trick. Once the IDE recognized the board I was able to compile and upload a demo program and soon had the two devices talking across the wireless link. However, as is normally the case with me and new hardware, there was a small problem.

The RSSI was running in the -110db to -115db range; not great if you want any distance at all. As I moved them more than a few feet apart the signal was lost. Like I said, not a good situation. I tried different orientations but they provided only meager success. With more poking around on the Internet I came across information on installing an external antenna. I ended up cutting a section of 24 ga solid core copper wire to 6 and 13/16th inches and soldering it into the antenna connection pint on the board. Wow, did that do the trick! I’ll get some more detailed information on that later. The short version is that it worked.

RSSI climbed to -10db and I was able to move the client node outside the house with no issue. Even at a distance of ~40’ though multiple walls I’m seeing -45db. Next step is adding a TMP102 sensor and battery pack to the setup. More to come.

Italy – Day 1

Woman in red jacket standing at an outdoor café with empty black metal tables and chairs.We arrived in Rome on Saturday, March 24th right on time (7 am). After picking up our luggage we were met by Marco from Rome Connection and 2 eight-passenger vans. They took us right to our hotel, The Casa Bonus Pastor. There the friendly desk clerks were able to help us secure our luggage in a small room while we were fed our first Italian breakfast (yogurt, rolls, some with powdered sugar, some plain), and strong coffee with steamed milk. There was also a nice cold juice (apricot or mango?).

Some rooms were ready early, so we were able to put our luggage in our rooms and get ready for a walking tour with Barbara. I was able to purchase two postcards at the front desk with postage (about €1.2 for each stamp). Then, we walked as a group downhill to the Vatican area.

It was a beautiful day, sunny and warm. We agreed to meet at 2:00 at a specific spot inside the walls. Tim and I wandered out of the Vatican toward the Tiber River. Fortunately, we had a fairly detailed map.

We walked down to the Umberto Bridge and crossed over the river. The river appeared shallow and we saw no boats or traffic on it. We just wandered the narrow streets, looking in shop windows and looking for a place to grab some lunch. We found a nice restaurant with outdoor seating right at an intersection. Most of the traffic was foot traffic, with an occasional moped or motorbike. Since we were just looking for something light, Tim ordered a pizza, I had some pasta and vegs.

While we were eating a violinist came by, spoke to the maître d’ and apparently got permission to entertain. He played a song or two and then walked around with his hand out. We gave him a Euro.

Continue reading Italy – Day 1