How can I tell if my laptop (MacBook Pro) supports BluetoothLE? - arduino

I am trying to establish a connection between my MacBook Pro and Arduino Uno WiFi Rev 2 using BLE.
Adruino provides a BLE library. I have installed the adafruit_ble library on the laptop since I want to work in Python. But I continue to get a "NotImplemented" error in my python code when I try to commence "advertising". (I have another question about this on this site).
I have begun to wonder if the MacBook may not support BLE. But how can this be if my laptop easily communicates with my iPhone?
I have been able to connect the two machines over my home WiFi but my project will be deployed in the field and WiFi will not be available.

Related

Serial to Ethernet converter connected directly to router/switch

I have a digital scale for trucks that is currently connected to a Windows XP computer that is unusable because of all the bloatware and viruses installed in it and the fact that the pc is 15 years old and it can't be formatted because the software and drivers for weighing the vehicles would be lost.
I'd like to develop a web application and configure a pc with Ubuntu Server running LAMP, and upgrade the whole thing so I can get rid of the old XP computer and work everything from a web browser.
I can connect and process the serial data using either NodeJs or Python, but I did that by connecting to the scale directly with my laptop.
What I need is to be able to connect to the serial port from another office where the PC with Ubuntu Server will be.
Is it possible to attach the digital scale to an ethernet adapter that doesn't require a host computer ???
My main problem is that I need the server to not be in the same room where the scale is and ethernet is my only option since there is an ethernet cable that runs undeground to where the scale is and is connected to a small switch which the people that weigh the trucks use.
I guess one option would be to use a Raspberry Pi maybe (since it's small enough) to connect the to the LAN and to the scale, and transmit the data whenever the server requests it, but I don't know if maybe just by using a converter only, the server could connect to the scale and get the data without the use of a host...
Any help would be greatly appreciated!

Internet for Raspberry Pi 3 running on Android Things via a GSM modem

Has anyone figured a way of installing PPPD or something similar in order to have an active internet connection via a GSM modem on a Raspberry Pi 3 running on Android Things DP5?
Thank you!
Seems DP5 of Android Things still didn't support Internet connections via USB modem dongles (and it's impossible to add support manually, because as in this answer of Blundell described: the source code is not available for Developer Preview). But You can use UART and AT commands like AT+SAPBR.

Cannot connect device with nRF8001 Bluetooth LE to Windows 10 PC

I've built a device using an IMUduino board, which is supposed to be similar to Arduino Leonardo board with a nRF8001 bluetooth. I was able to connect my device to an Android phone using the nRF UART v2.0 app, I tested some examples and it worked with success.
I would like to connect the device to a Windows 10 PC via bluetooth. I have installed the driver of the nRF8001, and I am able to pair both PC-UART. However, when I open the Master control Panel, I cannot find any Master emulator, the menu is empty. Master control panel version is 3.10.0.14.
Is there any way to connect a device with nRF8001 to a Windows 10 PC?
Thanks.

Virtual com communications with no usb2uart bridge?

I'd like to connect a beagleboard-like (custom developed) omap board to a Windows PC using a virtual-com setup. That is, i'd like the board to appear to Windows as a com device and get the COM to send data to our application on the board. The main reason for that is to use virtual-com drivers on windows, since the usb drivers we use now to directly sent data over usb between the host and the board seem not to work properly.
I have done this using the FTDI driver on the past but as far as i know it worked because the device had an FTDI chip that translated the usb protocol to serial signals (am i right ?).If there's no USB to UART bridge on the board, how could i do that ?
By the way, how USB Communication Device Classes fits here ? Should develop a CDC driver for the board ? What should I use then on Windows side ?
I'm kind of confused, so any help will be greatly appreciated :)
Well, i answer myself :)
The solution lies in the Linux USB Gadget Subsystem.
Gadget API

BLED 112 - update BGScript based firmware with SDK v1.1.1

I purchased a BLED 112 dongle from BlueGiga (http://www.bluegiga.com/BLED112_Bluetooth_smart_dongle). I purchased the dongle since I was trying to do a simple POC with an iPhone. I did not want to get into breakout boards or the dev kit just yet.
I am trying to get the heart rate monitor samples working and I am not sure how to load the firmware on the device. I am using the latest version of the SDK (v1.1.1) which states to use the BLE Update tool, not the TI Flash Tool.
However it looks like you need the CC Debugger with the BLE Update Tool to update the SOC. I looked at the CC Debugger and it does not appear to be designed to be used with BLED 112 USB dongle. It appears you need a breakout board to expose the pins to be able to hook the CC Debugger to a BLE 112 module, not a BLED 112.
Lastly, I am not sure if DFU will work without bricking the dongle.
Any advice on how to properly use and program the BLED 112?
Thanks,
G
From the SDK docs:
TI Flash tool should NOT be used with the Bluegiga Bluetooth Smart SDK
v.1.1 or newer, but BLE Update tool should be used instead. The BLE112
and BLE113 and BLED112 devices contain a security key, which is needed
for the firmware to operate and if the device is programmed with TI
flash tool, this security key will be erased.
It is possible to update the firmware on the BLED112 via the USB connection, and without requiring a breakout box or a CC Debugger. However, it is fairly easy to accidentally 'brick' your device in so doing. The problem is that the firmware itself needs to provide the interface to enable DFU mode; if you do an update with your own firmware, and your firmware doesn't provide this capability, you're stuck with the last thing loaded on it.
That being said, here's the process.
The BLED112 dongle is essentially just a BLE112 with an attached USB connection. The BlueGiga SDK ships with drivers that allow the device to be mapped with a simple serial interface, such that the device shows up as a simple COM port (e.g., "COM16") to applications running on the host PC. The SDK also ships with two utilities - BLEGUI, and DFUTOOL - that are able to use this COM port interface to communicate with the device.
(Getting the drivers installed seems like it should be easy, but the process was finicky for me, and I ended up having to mess around with Device Manager, etc., for a while before getting the COM port to show up reliably when I attached the dongle.)
The basic process for building and installing firmware on the BLED112 is:
Compile your BGScript program to an image file using BGBUILD.EXE
Reboot the dongle into firmware update (DFU) mode using BLEGUI2.EXE
After attaching to the appropriate COM port, select Commands | DFU from the menu.
Update the firmware using DFUTOOL.EXE
Before you do this, make sure you read the "Developing Bluetooth 4.0 single-mode applications" and other technotes from BlueGiga's forum (registration required). Specifically around your project configuration:
WARNING:
If the firmware is to be installed into the BLED112 USB dongle the USB
CDC configuration MUST BE included in the project file. If this is not
included in the project file and the compiled firmware is installed
into the BLED112 USB dongle, the USB interface will be disabled and
the dongle stops from working.
Phew. Not necessarily for the feint of heart. I personally found it more appealing to shell out the money for the DKBLE112, which has the BLE112 module mounted on a board with some other accessories, and a CC Debugger for programming. With this setup, you can flash new images to the chip without worrying so much about screwing things up (there's a "reset" button on the board itself).
Other people have reported using breakout boards that are cheaper than the DKBLE112, such as this one from Jeff Rowberg. They also let you program with the CC Debugger, but I have no experience with them.
Have fun!
Based on the information provided, I found the following technote on the BlueGiga support knowledge base.
https://bluegiga.zendesk.com/entries/22810076--HOW-TO-Run-a-BGScript-application-on-the-BLED112-USB-dongle
Thanks
Greg

Resources