Posted on Leave a comment

What’s Behind That Wall?

“My WiFi keeps dropping out!” It’s a common complaint that has many causes, and equally many possible fixes. We recently visited a customer who was having just this issue, with the fix being a $9 network cable.

It was a fairly typical installation, with an OptiComm Fibre Optic box and their WiFi router installed in the attached garage on an internal wall. At first glance, there was nothing out of the ordinary, but to determine what’s going on we started measuring the signal in various locations around the house. The baseline measurement directly in front of the router was fine, so I went to measure the signal level on the opposite side of the wall in case there was something inside the wall messing with the signal.

The other side of the wall was an ensuite bathroom from the master bedroom, and directly behind the WiFi router was a large wall mirror. Having such a large piece of metal directly behind the WiFi router was causing all kinds of signal reflections, not to mention the giant -25dBm signal attenuation across half the house.

Fixing the issue was easy: relocate the WiFi router to a shelf against another wall, using a longer network cable between the OptiComm Fibre Optic box and the WiFi router. No more WiFi drop-outs!

Posted on Leave a comment

WiFi In The Sky

Raspberry Pi Sticky-Taped To Drone

When you sticky-tape a Raspberry Pi to a drone, how far can you get the WiFi signal? There is the theory, and then there is reality. In our last post, our customer suggested that a Raspberry Pi in an airborne drone would be a possible solution to increase the LoRaWAN radio range of our GPS trackers. We investigated if the built-in WiFi on a Raspberry Pi would work at the distances involved.

The Theory

When a WiFi engineer designs a solution, there are many factors that need to be taken into account, such as how many devices will be connected, what the capabilities of those devices are, what the radio environment is like, and how fast the network needs to perform. In this case, the answers to those kinds of questions are almost the opposite of what are normally encountered. There will be exactly 1 device connected, in a very quiet radio environment, with minimal performance needs, but the distance of that link will be very long. Long-distance links are usually handled by WiMAX radios, not WiFi, but the same design principles still apply.

How Far?

Long-distance WiFi link design starts with the distance between the access point and the station. Normally, these kinds of links have fixed locations (e.g. a Wireless-ISP base station to subscriber homes), but in this case the WiFi client is moving around. There is a limit on how far the drone will be away from the WiFi AP due to CASA drone rules, so those limits can be used as the maximum distance and the link can be designed from that. The CASA drone rules state a maximum altitude of 120 metres (400 feet) above ground level, and visual line-of-sight distance which is approximately 1KM for a medium sized drone and an experienced drone operator. 1000M away and 120M in the air makes a triangle, and applying the Pythagorean Theorem to these distances will make a link of approximately 1007M.

How Loud?

WiFi, like all radio communications, reduces in power as the distance increases. This effect is called the Free Space Path Loss, and is the primary source of signal loss in long-distance outdoor radio links. At the 1007M maximum distance required, on WiFi channel 1, the FSPL is 100.15dB. The point at which a WiFi radio signal is indistinguishable from radio noise is usually about -93dBm, and much more is required for a reliable link.

To calculate the expected radio reception power, start with the radio transmitter power, add the transmitter’s antenna gain, add the receiver’s antenna gain, and subtract the path loss. Good WiFi equipment will list radio transmitter power and antenna gain in data sheets, but most consumer devices do not make this information easily available. Unfortunately the Raspberry Pi falls into the latter category, requiring analysis of FCC certification documents to determine radio transmission power and antenna gain. Our drone test platform, the Raspberry Pi ZeroW, has a radio transmission power of 20dBm, and an antenna gain of 2dBi. On the other end of the WiFi link, we tested the Ubiquiti UniFi UAP-AC-M and the UAP-AC-M-Pro WiFi access points which have radio transmit power of 20dBm and 22dBm, and antenna gain of 3/4dBi and 8dBi respectively. We also tested the Ubiquiti UMA-D directional antenna with the UAP-AC-M which provides a 10/15dBi gain instead of the 3/4dBi gain of the included omni-directional antennas.

Adding these numbers together, the estimated signal level received by the Raspberry Pi ZeroW is -75.15dBm when transmitted from the UAP-AC-M, and -68.15dBm on the UAP-AC-M-Pro and UAP-AC-M with UMA-D antenna. The estimated signal level received by the UAP-AC-M is -75.15dBm, by the UAP-AC-M-Pro is -70.15dBm, and by the UAP-AC-M with UMA-D is -68.15dBm.

How Fast?

This solution doesn’t need to be particularly fast, as LoRaWAN data is designed to have a very small payload, but knowing how fast this link can go at the signal levels expected will ensure that there is a good signal margin for the data rate to drop due to conditions in the field. The expected signal levels can be used with MCS Index Charts to determine expected data rates, and in this case the expected data rate is somewhere between 20Mbit/sec and 50Mbit/sec. This is far more than needed, as each LoRaWAN uplink message is less than 1KB.

The Setup

Ground Station

The WiFi test setup consists of a Raspberry Pi 4 on the ground providing one end of the data link, routing to the Internet, and in the production deployment will be running a full LoRaWAN stack from radio concentrator to application. A Ubiquiti UAP-AC-M-Pro is connected to the Raspberry Pi 4 Ethernet port, and a Ubiquiti UAP-AC-M is connected to the secondary ethernet port on the UAP-AC-M-Pro. Both WiFi access points are configured to broadcast the same SSID. The UAP-AC-M is attached to a UMA-D directional antenna. Power to the WiFi access points are provided by Tycon Power DC-DC PoE injectors, which are powered from a 3S LiPo battery pack.

A Raspberry Pi ZeroW is attached to the drone and a GPS receiver, and is configured to log WiFi access points that it can hear at 10 second intervals along with the GPS location. A continuous ping is running between the Pi ZeroW in the air and the Pi4 on the ground.

Drone Tracker Pointing At The Drone

Because the directional antenna always needs to be pointing towards the drone for a good signal, Phase Zero developed and provided a drone tracking platform that will always face the drone.

The Results

Drone Tracker Pointing At The Sky

The setup and configuration took far longer than expected due to a number of factors, including lack of compatible power connectors and lack of correct tools, and only 2 flights were attempted. During both flights, the WiFi connection was running and stable the entire time, with signal level received by the Raspberry Pi ZeroW at maximum distance of 750m between -69dBm for the directional antenna on the UAP-AC-M and -78dBm for the UAP-AC-M-Pro.

During the second flight test, the drone unexpectedly stopped responding to flight controls and went into safe mode until it ran out of battery. It was found an hour later on a river bank, with only a single broken leg.

WiFi2Work and Phase Zero are calling this a successful test, and will be rolling out this solution.

Posted on Leave a comment

LoRaWAN In The Clouds

Brief

Continuing with the development of GPS trackers for our customer Phase Zero Consulting, we identified a potential issue receiving LoRaWAN radio signals coming from GPS trackers when there was limited line-of-sight with steep river banks or dense bushland between the GPS trackers and the LoRaWAN radio gateway. Phase Zero Consulting suggested that we could use one of their larger drone aircraft to house a Raspberry Pi running a LoRaWAN radio gateway in order to get above the GPS trackers and significantly extend the radio coverage area. After some investigation, it appears that the suggestion will fly (ahem).

Challenges

  • Light weight
  • Low power consumption
  • Communication back to GPS tracker map application

Solution

A Raspberry Pi 3B+ is an ideal low-power platform for the solution, because the newer Raspberry Pi 4 uses more than twice as much power due to its significantly increased performance that is not needed for this application. The RAKWireless RAK2245 LoRaWAN Radio Concentrator is a newer, physically smaller, but electrically compatible version of the RAK831 LoRaWAN Radio Concentrator. When combined, the two boards together consume less than 5W of power which allows for longer running time in the air.

The Raspberry Pi 3B+ includes an integrated WiFi radio system, which will allow the use of a WiFi link back to the ground and into the GPS tracker map application. WiFi signal strength and link distance can be increased by using directional WiFi antennas, which we have successfully tested as detailed in the next post.

Posted on Leave a comment

New in the lab: Raspberry Pi 4B

The Raspberry Pi has taken the embedded device world by storm since its release. It is a cheap, tiny, low-power, single-board computer that is capable of running a general-purpose operating system, which allows rapid and cheap prototyping of new ideas. However, low-power and cheap contribute to the RPi’s inherent weakness: low performance. The latest Raspberry Pi boasts increased performance, and it delivers a significant boost in I/O performance, but CPU-heavy tasks will continue to languish.

We have run a couple of quick benchmarks to establish the performance characteristics of the new Pi 4B, and are thrilled with the huge performance boost.

Pi 4Pi 3B+Pi 3BPi 2UpBoard
iperf loopback3.28 Gbits/sec
iperf wired network
USB disk sequential read200MB/sec
USB disk sequential write
SD card sequential read45MB/sec
SD card sequential write
CPU idle power draw730mA
CPU load power draw980mA

iperf loopback: good indication of CPU, memory, and TCP stack performance of the system. Commands: iperf3 -s & iperf3 -c 127.0.0.1

iperf wired network: indication of network I/O performance. Commands: iperf3 -s (iperf3 -c is run from another much faster computer)

USB disk sequential write: indication of USB I/O performance. Commands: dd if=/dev/zero of=/mnt/usb-disk.img bs=1M count=10240

USB disk sequential read: indication of USB I/O performance. Commands: dd if=/mnt/usb-disk.img of=/dev/null bs=1M count=10240

SD card sequential write: indication of SDIO or MMC I/O performance. Commands: dd if=/dev/zero of=/sd-disk.img bs=1M count=10240

SD card sequential read: indication of SDIO or MMC I/O performance. Commands: dd if=/sd-disk.img of=/dev/null bs=1M count=10240

CPU idle power draw: indication of how much power the RPi is drawing when idle. Read USB power meter 10 minutes after boot.

CPU idle power draw: indication of how much power the RPi is drawing when its CPU is under load. Read USB power meter for 5 minutes during boot.

WiFi2Work is using Raspberry Pi computers for embedded projects, including as LoRaWAN radio gateways and application servers. The significant I/O performance boost is welcome, and the expanded memory capacity is wonderful, but we recognise the limitations of the CPU core and will continue to recommend offloading CPU-intensive work to faster computers.

Posted on Leave a comment

Online Store Now Live

Exciting times for us here at WiFi2Work! Our online store is now live and taking orders, stocking a select range of Ubiquiti network products. We are working with suppliers to establish sales channels for other popular WiFi equipment vendors, and will be adding new products when they become available to us.

Right now we are concentrating on establishing our online presence and adding products to our store, while working on our first major customer project. If none of our existing product selections are right for you or your business, please contact us to start discussing your requirements and how WiFi2Work can help you.

Posted on Leave a comment

LoRaWAN GPS Trackers

Brief

Our feature customer is Phase Zero Consulting, a safety consulting company who is performing the risk management of a river kayak race. The major requirement is to know the location of every boat on the water, in order to ensure that no boats are being left behind in the race, have gone off-course, or to locate a boat in need of assistance.

Challenges

  • Safety-critical, system must be reliable with faults easy to diagnose
  • Running in remote areas, likely no Internet access
  • Long distance coverage required on a limited number of access points
  • Terrain may block radio line of sight, and vegetation will attenuate higher radio frequencies
  • Re-use of existing tracking system parts if possible

Solution

The main wireless technology used between the GPS trackers and the base stations is LoRaWAN, which is ideally suited for these conditions. In Australia, LoRaWAN uses the unlicensed 915MHz spectrum band, which copes much better with difficult terrain and vegetation than WiFi in the unlicensed 2.4GHz spectrum band. It is also designed to have low power consumption, which matches well to battery powered devices where weight is a consideration.

The assumption with many LoRaWAN implementations is that Internet access is available, and that LoRaWAN gateways can talk to Application Servers on the Internet. In this case, that assumption is not true, so a full LoRaWAN stack needs to run independently of any Internet connectivity. Thankfully, LoRaServer fills this requirement perfectly and allows a LoRaWAN gateway and application server to be built on a low-power embedded computer such as a Raspberry Pi.

The existing tracking system uses some of the same technologies for the same reasons. Software development is currently underway to write custom code for the existing GPS trackers, and to port the same code to other platforms such as the RAKWireless WisKey range. Testing is scheduled to start in early July.

Posted on Leave a comment

Launching an Australian online business in about 24 hours

Setting up a business has changed a lot in the last 10 years since the last time I set up a business. This is the story of how WiFi2Work was originally set up from an idea to where it is now. You can use this as a guide to launch your own online business in Australia in about 24 hours.

Stage 0 – The Idea and The Plan

You need an idea first. Flesh out the idea into a business plan – there are plenty of guides around on how to create a business plan from an idea. Find a good tool to organise your thoughts, I like Notion because of its flexibility and ease of use. Once you’ve got a rough idea of what your business is going to do, it’s time to put the plan into action.

Before starting, get advice from as many people as you can. At the very least speak to a lawyer to confirm the legal aspects of your business, and to an accountant to confirm the financial aspects of your business. Some advice will directly conflict with each other, and it’s up to you to make a judgement call on what advice you will accept and what advice you will consider but reject.

Now is also a good time to create a new password manager database, and have a rule that every login must be owned by the password manager. I have used KeePass for many years, and keep it in a Dropbox folder so I can access it from any device.

Stage 1 – Business Registration

Your business needs an identity, but it’s easier to name a business than it is to name a child because verbs and adjectives in a business name are common. Keep the business name as short and simple as possible, but make sure it’s not already used because it needs to be reasonably unique in Australia. You can use the business name search tool at https://help.register.business.gov.au/ to see if your chosen business name is already taken. Make sure your domain name is also available, because you really want both to be the same.

Your business needs a corporate structure, and an online store has 2 basic choices: a Pty Ltd company, or a Sole Trader or Partnership. A Sole Trader is much easier and cheaper to set up, and can easily be converted to a Pty Ltd company in future. The downside of a Sole Trader is that you are personally liable for any debts or lawsuits against the company, so make sure you get insurance sorted out as a priority if you choose this structure.

Once you’re ready to take the leap, go ahead and register your business online at https://register.business.gov.au/ to receive an ABN. If your trading name is different from your legal business name, you will need to spend about $40 to register a trading name with ASIC as well.

Stage 2 – Internet Domain Name and Email Setup

Once you’ve received confirmation that your business is registered, you can use your new business identity to register a domain name. The “keys to the kingdom” in an online world is an email address, and you need to get a business-branded email address as soon as possible. The first major decision is, who to use for your email? There are basically 4 choices – Google Business, Microsoft Office365, provider-hosted, or self-hosted. To answer the question about who to use, ask yourself “Do I need a copy of Microsoft Office?” If you need a copy of full-blown Office, go with Office365. If you’re happy to use Google Suite products, then save yourself a few dollars per month and use Google Business. The only reason you’d use a provider-hosted email system is if you want to pay $0 and don’t need any kind of office software suite. There is no good reason to host email yourself anymore, because Google and Microsoft can run an email system better than you can. In my case, I need a copy of Microsoft Office, so Office365 Business Premium is what I went with.

I used NetRegistry for a .com.au domain registration. The purchase process is streamlined, setup is fast, and they have good pre- and post-sales support. The best part is they resell Office365, and set everything up for you as soon as you register your domain. This means, as soon as you click purchase and stick in your credit card details, you can immediately create an Office365 account and send and receive emails straight away. With an upfront 12-month Office365 license ($219.45), the total was $281.25. I made the mistake of adding the “Domain Manager” product for $31.90, which it turns out is completely useless to me now because of the next choices I made.

Stage 3 – Bank Account

You need some way to send and receive money, so a bank account is a necessity. The fastest way to get a bank account is to apply to the same bank you use for your personal banking. It may or may not be the cheapest on the market, but the bank can skip about 80% of their KYC check and give you an account within a day or so. Get a debit card to go with the account so you can use your business funds directly to purchase everything else you need.

Once you have a bank account, set up a PayPal and/or a Square Payments account so that people can give you money using credit cards.

Stage 4 – Web Site

This is where it can get insanely complex, but to cut through the options if you don’t really know what you need, just deploy a WordPress web site on AWS LightSail, and front with CloudFlare. Sign up to AWS using your new email address on your new domain name, deploy a WordPress instance through LightSail, then set up CloudFlare to protect the web site. Boom. Done. Take a snapshot of the LightSail instance now before you do too much work to it. Then remove the Bitnami logo because it looks terrible on mobile devices, update everything, and customise the settings and plugins until the web site does basically what you need it to. Take another snapshot of the LightSail instance, this will be your master copy in case anything screws up too badly.

All of this will cost you $0 for the first month, a few dollars per month for the first 12 months, and a few more dollars per month after that.

If you want to sell products directly from your web site, set up SSL on CloudFlare under the Crypto tab, then take a look at the WooCommerce WordPress plugin and go from there.

Stage 5 – Graphic Design

Ask around and find a good graphic designer. I asked on Twitter and immediately was deluged with cold responses from graphic designers, but it can be tricky to sort out who is a “copy and paste” artist and who is a graphic designer. Ask to see portfolios, ask for references, and let your own eyes be the judge of who should get the job. With a $500 budget you should be able to get a professional logo, web site colour scheme, and business card design.

Add the logo and colour scheme to your web site, and go print a few hundred business cards.

Take another snapshot of your web site, and test it thoroughly to make sure everything is working.

Stage 6 – Marketing and Sales

Again there are plenty of options here, but start with a presence on the major social networks, and fling a few dollars at Google Ads and Facebook Ads to drive traffic to your new web site. Ask for help from marketing professionals if you need it, or engage a marketing company if you need serious help.

Stage 7 – Wait

All of this should be done in a day or two. Go and push your new company on the world, make sales, close deals, do what you need to do.