I came across this wonderful somewhat recent article on Clean Architecture and SwiftUI. Bookmarked. Thinking of printing it out even. In color even.
Apple’s September 14th event introduced the new iPhone 13 and what caught my attention was a brief mention by Tim Cook of “new bands and antennas” for the iPhone 12 successor. Looking more closely at the specs shows that the iPhone 13 adds support for 26 GHz mmWave (n258), which builds on the 28 GHz and 39 GHz support (n261 and n260, respectively) my iPhone 12 Pro Max has.
I spent a lot of time characterizing mmWave performance during my LMDS days at Wavtrace, and I can tell you that rain and foliage are not kind to the higher frequencies, so the inclusion of 26 GHz in the new phones should make mmWave 5G more likely to work well especially as Seattle turns toward the rainy season.
Ah, Wavtrace. Good times that ultimately weren’t meant to be as LMDS never got a foothold.
I’m going to have to write a post about my experiences in mmWave work there. Will do so soon.
Returning to the Apple event, I was also happy to hear that the 13 would have extended battery life. Always a good thing for wireless/mobile devices 🙂
Net net: Nice to see the band getting use finally.
I just came across this wonderfully detailed guide to iOS CoreBluetooth written by Gretchen Walker of PunchThrough. It goes into the details any iOS developer should try to keep in mind when integrating with Bluetooth devices. It is very much worth bookmarking and referring back to.
I also heartily recommend their wonderful iOS app for debugging your Bluetooth peripherals and the environment they’re operating in. I use it frequently.
This post serves as a brief summary of the technical specifications of the many radios in the Phone, iPad and the Apple Watch and as index for easier deeper exploration into each. Most of these are very broad categories (for example, there are many types of Bluetooth with differing data rates) and I’ll be linking each of these to more detailed breakdowns.
Sorted by Range (Shortest to Longest)
- Availability: iPhone, Apple Watch
- Range: 0.1 m
- Frequency: 13.5 MHz
- Data Rate: 0.4 Mbps
- Docs: Core NFC
- Availability: iPhone, iPad and Apple Watch
- Range: 10m
- Frequency: 2.4 GHz
- Data Rate: 1-3 Mbps
- Docs: Core Bluetooth, Core Bluetooth Programming Guide
- Availability: iPhone 11 or 12, Apple Watch Series 6
- Range: 50 m
- Frequency: 3.1 – 10.6 GHz
- Data Rate: 100 Mbps
- Docs: Nearby Interaction
- Availability: iPhone, iPad and Apple Watch
- Range: 125 m
- Frequency: 2.4 GHz and 5 GHz
- Data Rate: Up to 866 Mbps
- Availability: iPhone, iPads (if equipped)
- Range: 300 m
- Frequency: 30 GHz – 300 GHz
- Data Rate: 70 – 400 Mbps or faster
- Availability: iPhone, iPads (if equipped), Apple Watch (if equipped)
- Range: 15 km
- Frequency: 700 MHz, 1700 – 2100 MHz, 1900 MHz, 2500 – 2700 MHz
- Data Rate: 10 – 50 Mbps or faster
- Availability: iPhone, iPad (if equipped) and Apple Watch
- Range: 20 km
- Frequency: 1575 MHz, 1227 MHz, 1176 MHz
- Data Rate: 50 bps
- Note: GLONASS and Galileo are also supported
Wow. Just learned about this today. This should be interesting.
We’re one of 100 households participating in a energy conservation pilot program by our local utility – the Snohomish PUD. It’s called “FlexTime.” We qualified by agreeing to install a ChargePoint Home Flex charging station for our electric vehicles – one that allows for charging to be delayed to overnight to reduce demand on the grid.
“Devices enrolled in the FlexTime pilot will help customers save money. Customers with eligible smart devices or taking part in the Customer Choice program can also reduce energy use (turning down the lights, delaying the dishwasher, clothes washer or dryer, etc.) during the peak rate periods (weekdays 7 to 10 a.m. and 5 to 8 p.m.) to save money.”
“Customers will receive a 20% discount during nights, weekends and federal holidays, while being charged a peak rate during three-hour periods in the morning (7 to 10 a.m.) and evening (5 to 8 p.m.) on weekdays in the winter (November through February). Discount and peak hours are already defined, making it easy to make little tweaks in your day that add up to big annual savings. After the 20% discount, the nights and weekend rate will be 7.99 cents/kWh and the peak rate will be 21.37 cents/kWh. All other hours will be billed at the PUD’s standard rate of 10.4 cents/kWh.”
And here’s what our new meter looks like that records time-of-use (also known as TOU rating):
And one of the two electric vehicles (a Harley-Davidson LiveWire) plugged in and charging.
Our 2021 Ford Mach-E is a Standard Range model with a 75.7 kWh battery pack (of which 68 kWh are usable.) It can accept Level 2 charging at a maximum power of 10.5 kW, but on a NEMA 14-50 circuit like we have our ChargePoint Home Flex connected to, continuous draw is limited to 40A, or 9.6 kW (240V x 40A), so the Mach-E would take roughly 8 hours to charge from empty to full. (Charging from empty to full has yet to be needed.) By delaying charging to 10pm, a full charge can completely use Discount Rate power – the maximum charge would cost 75.7 * 0.08 or $6.06 – not bad 🙂
Our 2020 Harley-Davidson LiveWire can accept Level 2 charging at a much slower maximum power of about 1.4 kW. It has 15.5 kWh battery pack (of which 13.5 kWh are usable.) An empty to full charge of the LiveWire takes about 11 hours, which is longer than the Discount Rate power window, but – again – empty to full charges have yet to be needed. The maximum charge would be at most about $1.50, assuming most the charge happened during the Discount Rate period.
And, of course, the icing on the cake is the ChargePoint iOS app. With graphs!
TLDR: If at first you don’t connect, try, try and sometimes try again. I found my LiveWire would only connect to my phone roughly half the time, and waiting beyond 30 seconds for it to connect is unlikely to help.
I’m determined to uncover as much as I can as to what is undermining the Bluetooth connection between my new iPhone 12 Pro Max and my new Harley Davidson LiveWire electric motorcycle. It’s my thing – iOS and hardware, after all.
For this post, I decided to focus on a simple experiment. How often (and how quickly) does the phone connect to the bike when I power on the bike?
The results were kinda shocking honestly.
For the experiment, I placed my iPhone 12 Pro Max running iOS 14.7.1 on the seat of the bike. My Harley is running software version 01.02.00-02. My security fob was nearby, although not super close – it was in my thigh bag about 2m from the bike.
The only other devices connected to my phone were a Ford Mach-E and my Apple Watch.
I turned on the bike and started a stopwatch and waited to see how long until the Bluetooth indicator on the Harley turned from gray (not connected, see below) to blue (connected, see below.) If 90 seconds had passed, I gave up waiting and turned off the bike. If it did connect, I’d note the time, turn off the bike, and wait for the iPhone Settings > Bluetooth screen to also show it “Not Connected.”
If the bike didn’t connect, I’d wait until I heard the last relay click inside before during it back on, about 10 seconds or so (I didn’t measure this exactly.)
I repeated this 20 times.
9 out of 20 times it never connected. 11 times it did, but the time it took to connect varied quite a bit.
8 times out of 20 it connected in 24 seconds or less – the other three times it took 30, 35 and 44 seconds
And it isn’t as simple as waiting for 90 seconds turning it off and then getting it to connect. Twice it failed to connect 3 times back to back. Oooof.
So, the Traction Control and ABS lights toggle on, off and on again about every two second. They appear about 10 seconds after turning on the bike. One thing I’ll probably do until I sort this out is count 7-8 blinks and, if the Bluetooth hasn’t connected by then, turn off the bike and try again. Meh.
And something else peculiar came up during the experiment. Multiple instances of my LiveWire in Other Devices (see screenshot below). I’ll probably throw together a little app to see why that’s happening. iOS Settings > Bluetooth just shows the device name there.
Now this is interesting. Was reminded about it on the IoT Podcast this morning.
Swarm, a satellite start-up that uses CubeSats about the size of a grilled cheese sandwich to provide IoT coverage, has instead developed a satellite network specifically for IoT networks that would otherwise struggle to connect to the Internet. To do so, the company has adapted the popular IoT wireless technology LoRa, turning it into a high-flying—and even longer-ranging—solution.https://spectrum.ieee.org/swarm-takes-lora-skyhigh
And now there is a developer kit! Will have to look closer at that 🙂
Photo credit: Swarm
Featured photo: Dinner ride! First time riding in a group, much less eating dinner with other riders since the pandemic began.
So, with a ride under her belt, let’s see what we can see in the H-D iPhone app. I’ve embedded a gallery below with screenshots. Overall it works ok, once you get used to counting to about 12 for updates to complete (it really needs an indicator that it is retrieving updates.)
It shows my bike’s battery status and range and notifies me when it is fully charged. These are the most important things and they appear to work. There are some obvious bugs (like showing me my current location is in Berlin – it isn’t… signing up for maintenance reminders didn’t “take”… and the riding activity bar graph sometimes shows data and sometimes doesn’t.
I haven’t tried the suspension calculator next, but will soon. Glad the app is up and running now. Hoping Harley Davidson addresses the bugs – I know mobile apps are hard, but getting them right makes a world of difference to users and their confidence in your work.