Skip navigation
This blog is a continuation of the Konker Connection project. As luck would have it, the accelerometer module did not arrive until one day after the design challenge ended. However that isn't going to stop the project from proceeding. The accelerometers are intended to indicate the tilt angle of the motorcycle and this video demonstrates the accelerometers installed, programmed and functioning in various tilt positions:   Project Links: IoT On Wheels Design Challenge page   Links to ...
IoT on Wheels Design Challenge Smart Drive Project Index IOT on Wheels Design Challenge - Smart Drive - Introduction - Blog #1 IOT on Wheels Design Challenge - Smart Drive - First Steps with mbed os - Blog #2 IOT on Wheels Design Challenge - Smart Drive - Exploring MEMS board X-NUCLEO-IKS01A2 with Unicleo-GUI - Blog #3 IOT on Wheels Design Challenge - Smart Drive - Exploring STM32CubeMx - Blog #4 IOT on Wheels Design Challenge - Smart Drive - Connecting GPS - Blog #5 IOT on Wheels Design C ...
This is the final blog on my project for this challenge. The videos I am attaching is of the finished project. The first video is of the finished project description, showing the different parts put together. The second video is of it working in the vehicle. I am very happy how it turned out and that it works so well. I feel it will make a difference the way we drive and more aware of how tired we are while driving. This will also work well to stop distracted driving by alerting you when you are ...
PREVIOUS BLOG NEXT BLOG THE FUTURE OF THIS The Application Implement a conditional statement that doesn't allow the LOCK/UNLOCK button change unless connected to the device. Implement a STOP SCAN button so that the app will not constantly scan for Bluetooth connections. Implement a page that gives you info about the alarm system when it goes off. STM32-Nucleo Implement Security System. Implement a conditional statement that only LOCKS/UNLOCKS when the app sends data. Future Of This I wi ...
PREVIOUS BLOG NEXT BLOG THE FINAL (GIT) PUSH My final update of actual progress is what I have done with the app. My final blog will be all the update and the future for this project that I see. Currently I have updated the weather part of the application to use the Geolocation module that ionic uses in order to tell you the weather in your area. I have also edited the theme to make it more custom and personally appealing. I also added information about the app and project in the about page. I w ...
This project has been a marathon of exploration and learning, ending up with a whirlwind of blogging and trying to document the project. I have been at it non-stop for 3 days now and I have not had any time to reflect back on the project. However, I wanted to get some preliminary thoughts down before the project closes. I will likely add more later if I realize my initial material is missing key points. In my proposal, I kept the goals pretty simple, or so I thought. There was nothing easy abou ...
Here are some pictures showing how all the parts fit together.   The rider view         Project Links: IoT On Wheels Design Challenge page   Links to other blogs on this project are included in the first blog: https://www.element14.com/community/community/design-challenges/iot-on-wheels/blog/2017/09/21/the-konker-connection-blog-1 ...
To get the Nucleo System installed reliably on my motorcycle required a pretty intensive mechanical design effort, but a primary objective was to get the system mounted on wheels, so it was necessary. I first designed a snug-fitting 3D printed bracket to mate the electronics case to the bike. This bracket actually sits on the saddle extension that rides up on the gas tank. It involves a complex multi-curvature saddle shape that stretched my CAD abilities:   Next I designed a base case fo ...
PREVIOUS BLOG NEXT BLOG STM32 CODE (MBED) Here is my last push effort to get my IoT Bike lock working. Unfortunately I haven't been as successful as I wished to be, but will continue working on it, even after the deadline, but will have a few more updates today with where I am at. I have updated the mbed code in order to lock and unlock the bike lock upon a secured Bluetooth connection, however, I have not yet implemented a way to get it to unlock and lock based on the push of the button in the ...
This blog demonstrates the Nucleo instrumentation platform operating in harmony with motorcycle operations.   The Nucleo is on wheels!   Project Links: IoT On Wheels Design Challenge page   Links to other blogs on this project are included in the first blog: https://www.element14.com/community/community/design-challenges/iot-on-wheels/blog/2017/09/21/the-konker-connection-blog-1 ...
This is a quick video showing where the Nucleo system is installed.   Project Links: IoT On Wheels Design Challenge page   Links to other blogs on this project are included in the first blog: https://www.element14.com/community/community/design-challenges/iot-on-wheels/blog/2017/09/21/the-konker-connection-blog-1 ...
gsgill112

BLOG 15 : BLE Subsystem

Posted by gsgill112 Nov 13, 2017
Hey guys, Let dive into the BLE Sub Section. I was not able to implement much on this front but it is not very difficult to implement. Let me go through the basics first   What is BLE ?? BLE Stands for Bluetooth Low Energy. It is a Simple yet Powerful Technology specially designed for Low power Applications. It's Strength lies in the STATE information transmission.   So, You may ask STATE information ?? Well that means something like Is the Device ON or OFF, is the fan ON or OFF wha ...
Ok, In this Blog I will talk about implementation of the Sensor Subsystem in My project.   Firstly the Role of Sensor Subsystem was to identify the weather for ride and to send it to the User. I had Dropped the Idea of pothole detection as it was not a worth Idea, moreover In my Nextion display You could just touch to report the pothole. see the BUMP Button below !!   As there was a mBed Library available online HERE as well as an Example Program available HERE it was easy to get ...
PREVIOUS BLOG During the testing of the assembly which held fine I met with a Accident on my cycle Damn those Disk Breaks . I have got More, but I am avoiding uploading due to the content of the images   As humiliating it would sound Nothing much happened to the stm32 but the Nextion Display got damages and I myself got a bit damaged   As I mentioned that I have limited time for Project. As of Now its 20 OCT 2017 and I have to move to a remote location. I won't be able to ...
Hey guys Lets now decide how to plus this Cable mess on my Bike   I am a poor Man without any support of a 3D Printer or something fancy, But I am a huge fan of Recycled or Found objects So in a nearby Glass shop I found a piece of broken Acrylic Sheet laying around and the guy was ok if I took It so I took it happily After marking the holders for STM32 on the acrylic I stripped the acrylic to the required dimensions and marked the board mounting holes. (I am not sure why STM s ...
PREVIOUS PAGE                                                                           NEXT PAGE Hey Guys, This is another quick upd ...
It appears I have not anticipated the issues that I faced in this project challenge. Unfortunately I had to devote lot of time in researching Azure documentation to fulfill my goal of providing a mobile app for both Android and iOS using Xamarin Forms technology. But the final result is that I could not meet my goals. Even after compromising to provide a set of Console apps, I couldn't meet all the goals. The issues I faced are as follows:   Not able to access Azure services through Xamari ...
Storing the device sensor data that is sent to the IoT Hub can be stored either into a Blob or into a Storage Table. Saving in a Table is more easy to comprehend. The process is as follows:   Create an Azure Function App named esm-device-msgs2table-appattached to an Azure Storage account named esmiotstorage. Then created an Event Hub Namespace named esm-event-hub-ns. In this namespace created an Event Hub named esm-event-hub. Then created Azure Function code as follows: Go to the functi ...
Hey Guys, another SHORT UPDATE , I have somehow managed to get the button interrupts working yayyyyy with the BLE Code So now I can go further   Here is a video demonstrating updation of Nextion display based on the Hall Sensor Data and some Computations.     Code Snippets 1. Define Global Timer Object           Timer tick; 2. in Main()         stopC = 1;      ...
In this blog I detail the procedure to separate the device messages that contain temperature alert. Once these are separated, they can be channeled to separate cloud storage and also trigger actions to intimate the user about the alert.   The messages with alert are sent to a critical queue and read from that. This is done as described in the Azure document   First a Service Bus Messaging Namespace is created in Azure Portal as follows: Go to +New -> Enterprise Integration -> S ...
Hey Guys, While working on the Battery decisions in my previous Blog I came across a huge issue of power consumption.   Let's see how - taking into consideration the following 1.     Avg Current consumption - ~15mA for the STM32 Nucleo and ~105mA for the Display (Considering 15mA to be insignificant) 2.     So with a 3000mAH battery and about 110mA load  Running time = 3000/110 * 0.7. == ~19 Hours 3.     Now if somehow ...
Hey guys welcome to another IoTonWheels design challenge blog of project SbSr. Lets talk about powering my project at this stage and learn more about various approaches I followed and issues I faced   So the first challenge was to finalise a power source, obviously the battery, and to fix that lets first find out the power requirement of the system. Luckily there is a IDD measurement jumper int the STM32 Nucleo Board which will give us a good estimate of the power consumed by the STM32 Ha ...
IOT on Wheels Design Challenge - Smart Drive - Project IndexNeed For SpeedAfter some testing, I've realized that I need to know speed and heading as well. Speed is required in context of fall detection. Free Fall detection algorithm, which leverages LSM6DSL sensor data, is optimized for walking and not for driving (bicycle). So to reduce false positives I need to correlate speed and LSM6DSL sensor data to accurately predict falls.   Need For DirectionRoad participants moving on the same roa ...
In previous blogs, I have shown the Main Menu of the Mobile App. In this blog I will explain the "Setup New Device" option in that menu. Below is the screenshot of this page on Android Emulator running Marshmallow image.   The various components are described here: Device Model #: The format of this value is two letters followed by two numbers. This will be used in forming the Device Id for cloud access purpose. These indicate as follows, The 1st letter indicates the Connectivity as fol ...
C In this blog post I will describe the program that shows live data after formatting it to general user readable form as shown in the following screenshot.   Each data received is shown in two rows. The top row shows the Date & Time the sensor data was sampled and the data message number (after the device was powered). The bottom row shows the Temperature, Humidity % and whether the temperature read is above the Threshold Temperature set (which is 86 F). I have created the alert si ...
IOT on Wheels Design Challenge - Smart Drive - Project IndexBye Bye Breadboard As I achieve a lot of progress in the last two weeks I've started preparation to move outside from my lab. But all components (Nucleo board, expansion boards, GPS receiver) and my breadboard require some packaging, so they can work on the road. The first thing was to drop the breadboard as it was the biggest part. I've reused a cable from an old PC. The cable terminals has a nice spacing, that fit very well USB ser ...
Hello everyone,   This is my second to last post on this challenge. Everything is now complete except for the vlog on the project working in the vehicle. Below are pictures of the project on my computer desk and the code for the Nucleo. I programmed the Nucleo with the Arduino IDE which worked perfectly (almost, there were a few little bugs). Please leave any questions or comments below.   Note: There are 2 tilt sensors that will be attached to the drivers head to sense if they are n ...
In previous blog post #5 I have shown the Setup New Device page in Mobile App. But unfortunately I found that Azure services are not easily available from Xamarin Forms. There are many Xamarin, the tech that I want to use for cross-platform apps, examples on Azure site but they are all for either .NET console apps or Xamarin Native code. The Xamarin Forms is so appealing that I completely neglected native coding with Xamarin. Hence I chose to work with .NET Console Apps for the present. The foll ...
Hey guys, Here is an another update on sending dummy sensor value and outputting the data to the Nextion Display.   SEE THE VIDEO   SENDING DATA TO NEXTION DISPLAY So, How do one send data to sexton display using STM32,   Lets go through the Nextion instruction set where we will se that in  the display there are concepts of Objects such as text object, button object , etc. each of the objects have certain properties like colour, text, value, etc ... .. so the way we ...
This update shows the Nucleo L476RG displaying GPS clock and position data on a pair of Nokia 5110 LCDs. Both the GPS and the LCDs are connected to the Nucleo module by a custom PCB which also incorporates a 3-axis accelerometer (which has not arrived yet) plus some switches and audio circuitry for a fuel level sensor. The electronics system is now a fully functional development platform for mobile sensors based on a powerful Nucleo Cortex M4 MCU, running off its own Lithium battery. I struggl ...
Week 10 - Nov 6 - 12        This will be last week in the design phase of the IoT on Wheels Design Challenge and for my trafficpredictor project. This blog will be a walkthrough of the entire project. The blogs posted over the two months time is at the end of this blog in a categorized format. Check it out if you have missed out any or to better understand the project.        I ventured out on a trip today (rainy at times) with the trafficpredic ...
Week 10 - Nov 6 - 12        This will be last week in the design phase of the IoT on Wheels Design Challenge and for my trafficpredictor project. This blog will be a walkthrough of the completed module 1. Check out Part 1 of this blog - Traffic Predictor #8 - Predicting the best route to avoid traffic [Part 1 of 2] for a better understanding of the progress. Module 1 - Traffic prediction with machine learning To be covered in this blog, Completed App (Android) Functi ...
Hey Guys Welcome to yet another Very Short UPDATE Blog Post on Smart Bike Smart Rider Project for IoTonWheels Design Challenge. In this Blog Post I will Go through testing and setting up the Hall effect Sensor With the STM32 Board using mBed Toolchain.   So in the last post we had fabricated our sensor board Now lets interface it In this image Pin one on Top is the Vcc (+3.3V), Middle is GND and Bottom is Vo (i.e Signal pin) So the sensor by defaults Outputs a High i.e. Logic 1 when no ...
First of All, Another pic of my photography skills Ok, after admiring the golden sand, lets come to the point. In my previous Blog I had mentioned about Hall effect sensor and how I have tested the design and finalised it for my project.   In this blog I will walk through the process of getting a more permanent prototype to play with. So, lets get started with the Easiest way to Homemake PCB's of What I would like to call the Poor Artist's way of PCB Prototyping   Now you may ...
My custom interface PCB finally arrived after flying around the planet for a month. It is very late in the project to be just starting to build interfaces, with lots of software development still required, but you have to play the cards you are dealt, or in this case, build the cards when you get them. I will have to also find time to squeeze in some blogs so here is a quick demo of the system running its first dual LCD software:   It is always highly gratifying when a new card works per ...
Hello Guys Another pic of my Photography Skills   Ok, So coming on to the topic.   Homemade Smart Cycle Computer - Finalising Sensor's and INTERFACE So, A Part of the project was to get a System of measuring the Speed, Distance travelled, Avg Speed, etc. In this blog I will review various mechanisms I tried and Which one worked the best   OK, Many of us are used to the Cycle computers the small little thing that tells us some important Information like The Speed, Dista ...
PREVIOUS BLOG NEXT BLOG WEATHER API TECHNICAL DETAILS My previous post showed the weather for your specific location (it was currently hard coded in, but will be updated to use the Geolocation module). This was using the wunderground API to get these details based on your city and state (look at home.ts). In order to do this you will need to make an account on wunderground and generate a free (or paid) API key. Now you can edit src/providers/weather/weather.ts and insert your API key, which shou ...
1. With all the effort in 11 weeks, there is little surprise for the completion of this design by Nov. 13,2017. The software and hardware have passed test. Only need some platform to carry all the electronic parts and driving the wheels. Getting close view. Rear view with wheels. There have been too many wheels. 2. All the parts are make by recycling parts like carton package and plastic case for Nucleo board. Wiring with jumper lines. It works, but far from perfect.  I will try ...
Well, we are getting close to the end of this challenge. This has been a great learning experience and I have really enjoyed it.   For my project to be finished up I only have a bit of programming to complete as well as the road test to make the final video blog. Below I have a layout of how the sensors are placed throughout my vehicle.     I have deleted the acknowledge button and any advanced warning alerts. First the acknowledge button was deleted as the program is set up ...
PREVIOUS BLOG NEXT BLOG   Unfortunately I have been behind in my blogging and updates on this project due to midterms, however I have been making progress and will be blasting through updates this weekend (starting now!), so let's begin!   APP DEVELOPMENT UPDATE My main focus lately has been on the app for this project. I have added in Bluetooth functionality in order to search for and connect to devices (specifically the IoT bike). I have also added more information on the lock/unloc ...
  PREVIOUS BLOG   NEXT BLOG   Hello everyone, Sorry for delay in blogs, I was in transit and I am currently located HERE So It Kinna difficult to stay connected to the world. Moving on, as the part of the Challengers Kit we received the following Hardware,                                               But first lets go through the Unboxing Video sorry for ...
The past few weeks have been a grueling exercise of long hours trying to achieve some tangible progress. I spent days scouring the internet for information and software that might help get the LoRa expansion card working, and then more days trying to get software and libraries properly installed and configured. I was running through a large number of installation variants which were not useful and not documented. I figured when I got something working I would document that, but I never really go ...
IOT on Wheels Design Challenge - Smart Drive - Project IndexConnecting Nucleo STM32L476RG USART3 Serial Port with GPS Receiver In one of my previous blog posts I've described how to connect GPS receiver to the Nucleo board using STM32CubeMX tool and STM32Cube libraries.But I've realized that STM32CubeMX is not aware of Nucleo Expansion Boards. As result, I switched back to MBed platform. I was not sure if USART3 TX and RX still going to work with my Nucleo board connected to two expansion boards ...
Week 10 - Nov 6 - 12        This will be last week in the design phase of the IoT on Wheels Design Challenge and for my trafficpredictor project. This blog will be a walkthrough of the completed modules 2 & 3. Please have a glance at my previous blog Traffic Predictor #10 - Evading traffic like a Bat for a better understanding of the progress. Module 2 - Auto-pilot mode with predefined speed   Module 3 - Speed adjustment with correspondence to current vehicu ...
1. Although the software has been completed there are still some problems with power supply. I supply power with battery via USB. The st-link part works and the main part with STM32L476 chip does not. It appears that  only PWR_EN is needed to enable the USB power. But it is not the case for Nucleo-F401 after test. The power supply is provided either by the host PC through the USB cable, or by an external source: VIN (7V-12V), E5V (5V) or +3.3V power supply pins on CN6 or CN7. Then I c ...
IOT on Wheels Design Challenge - Smart Drive - Project IndexThe STM32CubeMX Wall  In the end of my previous blog post I've described the situation, where I hit the wall when I was unable to progress with STM32CubeMX to interact with Nucleo expansion boards.   MBed I've decided to get back to MBed platform as it provides a reach set of high level libraries. I've used IBM Watson IoT project as my base. I've removed NFC references. Then I've imported IKS01A2 library, replaced all referen ...
IOT on Wheels Design Challenge - Smart Drive - Project IndexUsing STM32CubeMX to configure USART3 My GPS module only supports serial communication. So I've again used STM32CubeMX to configure serial ports. I've configured STM32L476RG pins PC11 and PC12 as USART3_RX and USART3_TX As well I configured USART3 to use interrupts. And then I've generated the code template. It was quite straightforward. Porting Arduino UBX GPS MultipleMessages code I've ported GPS module configuration and parser from ...
This project is still experiencing lots of software issues and some parts have not arrived yet, but time is running short and the project needs to move ahead. My custom PCB interface card is taking a very long time to arrive. It shipped by air 20 days ago and doesn't even look like it has made it into Canada yet - that is one very slow aircraft. For this blog, I have been forced to use a breadboard, but at least I am programming the Nucleo, and since this part of the project is all my own code, ...
In the past week I have been doing a lot of programming for the sensors It has been a bit of a learning experience working with the Nucleo-L476RG especially since I have been using the Arduino IDE The main part to remember is to assign the pins in your coding with the code"pinMap So far there has been no issue programming the Nucleo with the Arduino IDE everything is working perfectly   Attached is the code I have done so far:   #include <f401reMap.h> #define THRESHOLD 2 const ...
Week 9 - Oct 30 - Nov 5        This week I have planned to design and build module 2 & 3 in my trafficpredictor project. Check out the plan - Traffic Predictor #3 - The Plan and revisions, hardware & software list - Traffic Predictor #9 - Revisions and Hardware, Software list for a better understanding of the progress as I pause module 1 progress and shift to progress in module 2 & 3. Module 2 - Auto-pilot mode with predefined speed using Sensor Expansion bo ...
1. Finally all the software part is completed. It is obvious that PWM is most tricky part, since I do not know when it starts without and clear entry point. 2. The Software in mbed.org first the flyservice.h #ifndef __BLE_FLY_SERVICE_H__ #define __BLE_FLY_SERVICE_H__ class FLYService { public:     const static uint16_t FLY_SERVICE_UUID              = 0xA000;     const static uint16_t FLY_STATE_CHARACT ...
Baby steps.... I've been lost in "a maze of twisty little passages" at the end of a long rat hole ... trying to set up my back-end infrastructure to  where my LoRa gateway sends GPS data across the internet to get plotted on a map accessible from any browser. I am using a Dragino LoRa gateway which is now (after many false starts and much head scratching) setup with a WAN ethernet connection to my internet router. In addition to its LoRa gateway role it is also acting as a Wi-Fi hotspot ...
GPS Module I've purchased a GPS module VK2828U7G5LF. It is based on UBX-M8030-KT chip, antenna and UART interface.   Testing GPS I've used USB TTL serial converter to connect my GPS module to PC. The manufacturer of UBX-M8030-KT chip provides free software u-blox u-center to test and configure GPS module. It is very useful tool to start working with GPS module and debug protocol and controller behavior.. u-blox provides AssistNow feature for better precision. It is quite important for an ...