How do I set services and characteristics for HM-10 BLE on Arduino Uno?
that's not how it works. The HM10 has the characteristics and services that you need build in and communicates
with your Arduino trough the RX and TX pins.
You need the softserial library to create an extra serial connection.
Also consider that most HM10 devices are only 3.3 volt compatible and need a level shifter to work with your Arduino!
On the other hand I connect the RX to TX and TX to RX without level shifter without a problem, but thats your risk.
Connect your TX and RX pins of your softserial port to the TX and RX pins on your HM10 device.
Create a sketch for your Arduino that can read and write to your softserial connection and you are done.
Setup your Xamarin application as BLE-client.
On the Xamarin forms application your application has to find the device,
connect to the device by getting the services,
select the service you need(for my HM10 it is 0000ffe0-0000-1000-8000-00805f9b34fb),
get the characteristics of the selected services, select the characteristic you need(for my HM10 it is 0000ffe1-0000-1000-8000-00805f9b34fb),
write the ClientCharacteristicConfigurationDescriptor to the characteristic to be able to receive notifications.
If you send a message from your Arduino(CHAR or BYTE-array wit a maximum of 20 bytes), your application can receive
it in notifications.
If you write a message from your application you can read it in Arduino.
To understand the work flow of the Xamarin application have a look at my example on Github:https://github.com/GrooverFromHolland/SimpleBleExample_by_Devicename
It is not a Xamarin example but a Universal Windows BleExample, only to show what is needed to setup a connection.
If you have a problem with the example, create an issue on my Github page.
For other questions use the comments here.
The run destination iOS Device is not valid for running the scheme
It was a bug in XCode, I closed and reopened Xcode and it started working.
I've noticed this sort of thing many many times now with Xcode with other problems, its very frustrating that the tool is so dodgy.
Related Topics
Swiftui: How to Only Run Code When the User Stops Typing in a Textfield
Extending Typed Array by Conforming to a Protocol in Swift 2
Why I Can Not Use Equatable Function in My View When the View Can Use It in Swiftui
Make Touch-Area for Sklabelnode Bigger for Small Characters
Fetch Coredata with One to Many Relationship in Swift
How to Create a Directory in Downloads Folder with Swift on MACos? Permission Exception
How to Scale/Position Nodes Swift Spritekit? Custom View
Swift Error Comparing Two Arrays of Optionals
Parse.Com Pfgeopoint.Geopointforcurrentlocationinbackground Not Doing Anything
Making a Uibutton a % of the Screen Size
Cannot Invoke Initializer for Type 'Sqlite3_Destructor_Type'
Characters Is Unavailable' Please Use String Directly
In Swift, Can One Use a String to Access a Struct Property
Skscene Becomes Unresponsive While Being Idle