How to programatically send data over bluetooth from windows 7 laptop? - windows

I am working a project from my school. We are using a microcontroller to send integers over bluetooth (Sparkfun's bluesmirf) to an android device.
Because different people need the microcontroller I am wondering if it is possible to programmatically send send data over bluetooth to my android phone via my laptop's bluetooth?
I previously was testing we CoolTerm, but I am only able to send data manually by pressing the Enter key each time.
I want to create a loop that sends a random number (12 digit long) over and over (differnet int each time) from my HP Pavilion DV7 laptop? I am using Windows 7 Ultimate, and Coolterm 1.4.1.

My solution to this problem was using RealTerm.
I creared a *.txt file with the ints in each line (copy+paste from Excel table - made it easier). Then, after I connect to the Laptop's bluetooth port under the Port tab, I go to the Send tab and use the Dump File To Port option and add the *.txt file I created. Also, I used 999 as delay to send each line every 999miliseconds, and under repeats I changed from 1 to 0 in order to make it reapet until i press Stop.

Check out this Codeplex project - http://32feet.codeplex.com/ it allows you to open up Bluetooth sessions using C# through the native Windows stack. It will also allow a Bluetooth Serial Port (SPP) session which is what you'll want to use to connect to your device. The project is fairly longstanding and has a good amount of documentation on the site or on blogs if you Google.

Related

DJI Windows SDK: What is the API procedure of saving the recorded video of Mavic 2 Pro on the SD card

I'd like to know what API from their reference manual to use when I would like to save the recorded video on the SD card with Mavic 2 Pro. I believe that one cannot save video directly on the computer without perhaps using DJI Assistant 2 or so? In their manual (51169 p. 32) for the drone it says that regarding the flight recorder "other parameters" will be automatically saved to the drone's internal data recorder. This internal data recorder, is it referred to its micro SD card? If so, will all default recordings be automatically saved to that SD card? And if still so, is there a way to retrieve these video files via the computer in the code or only through DJI Assistant 2?
My intention is to do something with this video via the computer at the same time running the software I am working on developing (application) in Visual Studio, not to use several different applications. In normal use case scenario as described above, by, I believe, default procedure, would be to record the video, and have it accessed through the Assistant 2 app, and copy that video file over to the application I am working on, and from there present some options to the user with the video, like replay it faster.

Prevent disconnected display from merging windows into the active one

I've got a personal laptop (running Windows 10) which I use at work where I connect it to an external display using extended display mode. I keep all my personal icons and windows on my laptop display and store all the work-related windows on the external display. Whenever I unplug it, all the windows and icons from that display are merged into my laptop screen. I want to programmatically prevent changing anything on my primary screen when the secondary is disconnected. I'm currently writing a utility app for a variety of small productivity improving features and would like to add such feature in it. I can think of two ways to achieve this:
by tricking the system to think that the external display hasn't been
disconnected;
or take all the opened windows and icons on disconnected screen and put them on separate virtual desktop.
I was looking into Windows GDI Device Context Functions but haven't found anything about display connection/disconnection events. How can I detect display disconnection (and get that display's opened windows and icons)? Anything that can be done using C#, C++ or PowerShell scripts would be much appreciated!

Custom ROM Samsung SM-G53OT1

I've been using this phone a while, and I have been through tough times with it. Two bootloops, Google Play Services crashing infinitely, weird errors, everything. I'd say I've "bonded" with this Samsung and would like to take it up a notch.
I've been looking everywhere for ROMS for this phone and I haven't been able to find any, not figure out how. Maybe I'm just stupid but man it's aggregating.
I have a PC, Samsung driver's, Odin, and of course, my Samsung. I have everything I believe is necessary to flash a custom ROM.
I would appreciate ANY help to get a nice ROM for my phone.
At the minimum, I'd like it to have a theme changer.
Samsung Galaxy Grand Prime One
SM-G53OT1
You can install CM 13 on your SM G5series
CM 13 is a custom ROM used in android devices.
your warranty will be void if you install a custom rom.
careful that installing a custom ROM would sometimes injure your device
permanently.
Follow these steps to root your device to enjoy vast features
Download a recovery.img,USB driver and ADB tools for your corresponding device(extract and install them and keep the extracted file in one folder)
Download and Copy the zipped cm13 and gapps6(arm)to your device's internal or SD storage
Connect your device to a PC in USB debugging mode(just tap 7 times on the developer options in settings to enable USB debugging)
open program files,open minimal adb tools.Type CMD in location bar to open the command prompt in that folder)
type "adb devices" in the CMD without quotes.
"fastboot recovery.img"
Your device will be reboot and
Team win recovery is opened
wipe the system ,cache,dalvik cache
select INSTALL from the option
choose the zipped file cm13 and swipe it to flash the custom ROM.
choose the zipped file gaapps and flash it by swiping.
Your device will be updated to marshmallow after rebooting

Pairing issue when using SingleEntry (Android)

Socket Mobile SDK documentation states that the socket mobile scanner must be in "SPP" mode in order to work with the SingleEntry example. However, it seems that none of the Android phones i've tested recognize the device when in this mode for initial pairing. It does display in the paired devices list, connects to it fine, but does not fire any of the events (OnDeviceArrival, OnDecodedData, etc..) when a scan happens.
I can only get the SingleEntry example app to work with my Socket Mobile S800 by following the below steps (exactly):
Make sure scanner is in HID mode (default)
On my Android device, scan for pair-able devices. (the S800 displays with a keyboard icon)
Select the S800 device. (S800 does beep confirmation on connection)
Once the device is paired, un-pair it.
Change the S800 mode to "SPP" by scanning the appropriate code (recommended mode to work with Xamarin SingleEntry example)
Re-pair with the S800 device on my Android phone. (the S800 icon is now a desktop instead of a keyboard)
Open the "Socket EZ Pair" app, select pair using Bluetooth, select my S800 device from the list.
Now the OnDecodedData callback fires in the SingleEntry project.
What is the "Socket EZ Pair" app doing that i should be doing in my code to properly pair the device when in "SPP" mode?
Are there any better solutions for cross platform Bluetooth scanning? I'm particularly interested in just the OnScan (OnDecodedData) events...
UPDATE
The explanation is actually very simple. The SingleEntry Xamarin.Android app doesn't handle configuring the scanner for ScanAPI.
As you noted, after pairing the scanner you need to use EZ Pair before the scanner will be recognized by your app. This is because when you pair the scanner using Bluetooth settings, it creates an outgoing connection to the scanner, but ScanAPI listens for incoming connections. EZ Pair presents you with a list of paired Bluetooth devices, it connects to the one you select and configures that scanner to connect back before closing the connection.
The SingleEntry Android sample application includes the EZ Pair logic, but the Xamarin sample does not.
However, once you've used EZ Pair to configure your scanner to connect back, you should receive device arrival and decoded data notifications in the unmodified SingleEntry Xamarin.Android sample application.
Original answer
Not the solution, but good to check
Runtime permissions were introduced in Android 6.0 and SingleEntry has not been updated to check for the required permissions. Unfortunately, the file that sets the target framework is not checked in to git so fresh clones of the sample app now target newer versions than SingleEntry was designed for.
If you open Settings > Apps > Single Entry > Permissions and enable the storage permission, then it should start working.
The real fix is to check for WRITE_EXTERNAL_STORAGE and BLUETOOTH permissions before calling ScanApiHelper.Open() in your application.

How to get connection status on a BLE device in Windows

I have a Bluetooth low-energy device paired to my Windows 10 machine, when an application try to use it, Windows automatically connects the paired device. I want to be able to read if the device is connected or just paired to Windows. Searching around Window's Device Manager (accessible from Control Panel), I saw that the device had the property "Is connected" under the details tab, it's value (true/false) was changing accordingly to the actual device status.
I tried to read to access this property using the SetupDiGetDeviceProperty function with the DEVPKEY_DeviceContainer_IsConnected predefined key but for some reason I get ERROR_NOT_FOUND.
Any ideas?

Resources