2016.01.22 @ Android Taipei
講解 Bluetooth 的 GATT 的概念,並以 Android 實作
Example code:
Peripheral - BLE CPU Temp
https://github.com/j796160836/Ble-CPUTemp-Android
Central - BLE Temperature Receiver
https://github.com/j796160836/BleTemperatureReceiver-Android
Everything About Bluetooth (淺談藍牙 4.0) - Central 篇Johnny Sung
講解 Bluetooth 的 GATT 的概念,並以 Android 實作
Example code:
Peripheral - BLE CPU Temp
https://github.com/j796160836/Ble-CPUTemp-Android
Central - BLE Temperature Receiver
https://github.com/j796160836/BleTemperatureReceiver-Android
MCE^3 - Dariusz Seweryn, Paweł Urban - Demystifying Android's Bluetooth Low ...PROIDEA
Programming with a hardware in mind is fun. IoT is no longer a future but it's around us and Bluetooth programming became our reality. We'll tell you how to play with it without having a headache, using reactive concepts.
Demystifying Android's Bluetooth Low Energy at MCE^3 ConfPawel Urban
Presentation by Paweł Urban & Dariusz Seweryn.
Programming with a hardware in mind is fun. IoT is no longer a future but it's around us and Bluetooth programming became our reality. We'll tell you how to play with it without having a headache, using reactive concepts.
Smartphones, tablets, TVs, cars and smartwatches: Android is everywhere enabling users and developers with rich set of applications, libraries and services. Android Things brings such a power to virtually any object, any “thing”: using a low-cost (yet powerful) board, developer can add intelligence and connectivity to home, industries, vehicles and even medical appliances. This presentation introduces practical concepts around the Android Things platform and how to have fun with it.
Everything About Bluetooth (淺談藍牙 4.0) - Central 篇Johnny Sung
講解 Bluetooth 的 GATT 的概念,並以 Android 實作
Example code:
Peripheral - BLE CPU Temp
https://github.com/j796160836/Ble-CPUTemp-Android
Central - BLE Temperature Receiver
https://github.com/j796160836/BleTemperatureReceiver-Android
MCE^3 - Dariusz Seweryn, Paweł Urban - Demystifying Android's Bluetooth Low ...PROIDEA
Programming with a hardware in mind is fun. IoT is no longer a future but it's around us and Bluetooth programming became our reality. We'll tell you how to play with it without having a headache, using reactive concepts.
Demystifying Android's Bluetooth Low Energy at MCE^3 ConfPawel Urban
Presentation by Paweł Urban & Dariusz Seweryn.
Programming with a hardware in mind is fun. IoT is no longer a future but it's around us and Bluetooth programming became our reality. We'll tell you how to play with it without having a headache, using reactive concepts.
Smartphones, tablets, TVs, cars and smartwatches: Android is everywhere enabling users and developers with rich set of applications, libraries and services. Android Things brings such a power to virtually any object, any “thing”: using a low-cost (yet powerful) board, developer can add intelligence and connectivity to home, industries, vehicles and even medical appliances. This presentation introduces practical concepts around the Android Things platform and how to have fun with it.
Current trends in open source and automotiveRyo Jin
Tizen IVI continues making progress and sees adoption by multiple car manufacturers for the operating system providing the in-vehicle infotainment experience. Over the past year we have seen Tizen IVI mature a great deal as a Tizen product with support for web apps on Wayland, a sub-200MB footprint and components like systemd, Ofono, BlueZ, Connman, and other upstream components.
With the most recent Tizen IVI 3.0 M2 release new features include much better Bluetooth support, a variety of new web APIs exposed, Smack-based security, media player improvements, WebGL / video / CSS hardware acceleration, hardware acceleration of the camera and video streams, Genivi Layer Manager integration, Genivi Audio Manager integration, and the introduction of a Tizen IVI SDK. This latest release is running on modern versions of Mesa, Wayland with Weston, and the EFL libraries.
Going forward with Tizen IVI 3.0 M3 later in 2014 is an intent to be in compliance with GENIVI 6.0, AGL incremental requirements, supporting the Smack 3 domain model, multi-user support, and Crosswalk integration. Intel developers are also looking at possible Yocto support.
LTE Measurement: How to test a device
This course provides an overview with practical examples and exercises on how to test a LTE-capable device while performing standardized RF measurements such as power, signal quality, spectrum and receier sensitivity, and how to automate these measurements in a simple and cost-effective way. We will present testing of LTE handsets in terms of protocol signaling scenarios and handover to other radio technologies for interoperability. This course will demonstrate end-to-end (E2E), throughput and application testing using the Rohde & Schwarz R&S®CMW500 Wideband Radio Communication Tester. Examles of application tests are voice over LTE, (VoLTE) or Video over LTE.
Today, we’re almost constantly connected by miniaturised powerful computers and sensors. The network of these smart devices is making up a new field of computer engineering called the Internet of Things. In this talk, after a short overview of Internet of Things we will show you how to connect your Android device to this type of network using Bluetooth Low Energy.
Businesses large and small are fast realizing the importance of big data and are investing huge amounts of time and money to gather it. For retailers, the ROI potential from unified big data collection is exponential. After all, retailers collect online sales data, mobile and apps data, customer footfall data, as well as enterprise integration's for loyalty, CRM and ERP.
Beacons provide businesses with endless opportunities to collect massive amounts of untapped data, such as the number of beacon hits and customer dwell time at a particular location within a specified time and date range, busiest hours throughout the day or week, number of people who walk by a location each day, etc. This data then allows retailers to accordingly make improvements to products, staff allocation in various departments and services, and so on.
Attend this session to understand how Android mobiles can make use of beacons and big data analysis to provide customer a better user experience. We will share our experience of working with beacons showing a use case study around retail stores in India.
Current trends in open source and automotiveRyo Jin
Tizen IVI continues making progress and sees adoption by multiple car manufacturers for the operating system providing the in-vehicle infotainment experience. Over the past year we have seen Tizen IVI mature a great deal as a Tizen product with support for web apps on Wayland, a sub-200MB footprint and components like systemd, Ofono, BlueZ, Connman, and other upstream components.
With the most recent Tizen IVI 3.0 M2 release new features include much better Bluetooth support, a variety of new web APIs exposed, Smack-based security, media player improvements, WebGL / video / CSS hardware acceleration, hardware acceleration of the camera and video streams, Genivi Layer Manager integration, Genivi Audio Manager integration, and the introduction of a Tizen IVI SDK. This latest release is running on modern versions of Mesa, Wayland with Weston, and the EFL libraries.
Going forward with Tizen IVI 3.0 M3 later in 2014 is an intent to be in compliance with GENIVI 6.0, AGL incremental requirements, supporting the Smack 3 domain model, multi-user support, and Crosswalk integration. Intel developers are also looking at possible Yocto support.
LTE Measurement: How to test a device
This course provides an overview with practical examples and exercises on how to test a LTE-capable device while performing standardized RF measurements such as power, signal quality, spectrum and receier sensitivity, and how to automate these measurements in a simple and cost-effective way. We will present testing of LTE handsets in terms of protocol signaling scenarios and handover to other radio technologies for interoperability. This course will demonstrate end-to-end (E2E), throughput and application testing using the Rohde & Schwarz R&S®CMW500 Wideband Radio Communication Tester. Examles of application tests are voice over LTE, (VoLTE) or Video over LTE.
Today, we’re almost constantly connected by miniaturised powerful computers and sensors. The network of these smart devices is making up a new field of computer engineering called the Internet of Things. In this talk, after a short overview of Internet of Things we will show you how to connect your Android device to this type of network using Bluetooth Low Energy.
Businesses large and small are fast realizing the importance of big data and are investing huge amounts of time and money to gather it. For retailers, the ROI potential from unified big data collection is exponential. After all, retailers collect online sales data, mobile and apps data, customer footfall data, as well as enterprise integration's for loyalty, CRM and ERP.
Beacons provide businesses with endless opportunities to collect massive amounts of untapped data, such as the number of beacon hits and customer dwell time at a particular location within a specified time and date range, busiest hours throughout the day or week, number of people who walk by a location each day, etc. This data then allows retailers to accordingly make improvements to products, staff allocation in various departments and services, and so on.
Attend this session to understand how Android mobiles can make use of beacons and big data analysis to provide customer a better user experience. We will share our experience of working with beacons showing a use case study around retail stores in India.
A talk looking at building a smart savings account - some hardware hacking, Raspberry Pi development, Bluetooth LE, electronics, bit banging - all using Swift.
Mitsubishi graphic operation terminal got2000 series open frame model dienhat...Dien Ha The
Khoa Học - Kỹ Thuật & Giải Trí: http://phongvan.org
Tài Liệu Khoa Học Kỹ Thuật: http://tailieukythuat.info
Thiết bị Điện Công Nghiệp - Điện Hạ Thế: http://dienhathe.vn
Learn how The Weather Company aggregates weather data and delivers it to the rest of the world.
A demo of how to build your own IOT based personal weather station.
Da Arduino ad Android_ illumina il Natale con il BLEinfogdgmi
L'evoluzione dei dispositivi IoT e la loro integrazione con le App mobile sono in rapida crescita. In questo talk esploreremo il Bluetooth Low Energy, una tecnologia di comunicazione cruciale nell'ambito mobile. Imparerai le basi di questa tecnologia, come costruire un prototipo utilizzando Arduino ed a sviluppare un'app Android che comunica tramite BLE. Questo talk, pratico ed intuitivo, è pensato per essere accessibile a tutti, senza necessità di competenze avanzate.
Every wondered how to make your code physically interact with things in the real world? Got a home automation project in mind? In this presentation we will cover:
o) How to get started with Raspberry Pi and C#
o) The numerous sensors and actuators you can control
o) How to navigate basic electronics
o) Different interfaces and how to program them
o) Demonstrations of devices at work
o) Azure IoT Hub to control your code from the cloud and receive live inputs from your device in a Blazor application
This module enables you to wireless transmit & receive serial data. It is a drop in replacement for wired serial connections allowing transparent two way data communication. You can simply use it for serial port replacement to establish connection between MCU or embedded project and PC for data transfer. This board operates on 5V and has LED indication and 3V regulator.
Wireless Sensor Networks: MAC protocol of a point-to-point NBE networkDaniele Antonioli
Lab measure on a coordinator and a sensor exchanging data in Non Beacon
Enable mode. Check the randomness of the access to the channel by varying
BE min . Evaluate the throughput by varying the payload of the packets
transmitted.
GSM GPRS sim900 a modem with aurdino compatibleRaghav Shetty
This is a very low cost and simple Arduino GSM and GPRS shield. We use the module SIMCom SIM900A.
The Shield connects your Arduino to the internet using the GPRS wireless network. Just plug this module onto your Arduino board, plug in a SIM card from an operator offering GPRS coverage and follow a few simple instructions to start controlling your world through the internet. You can also make/receive voice calls (you will need an external speaker and microphone circuit) and send/receive SMS messages
Similar to Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇 (20)
與 Sign in with Apple 的愛恨情仇 @ iPlayground2020Johnny Sung
注重用戶隱私的 Apple 在開發者大會 WWDC 2019 發表了 Sign in with Apple 的功能,iOS 13 後皆支援。今年(2020 年) 4 月之後強制要求所有新上架的 App(包含更新)皆要支援這個服務。
Sign in with Apple 怎麼接?跟其他第三方服務有什麼不同?
App 端、網站前端、後端要如何因應?會有什麼樣的雷?
讓我來跟你娓娓到來...
#iPlayground2020
Speaker: Young Fang, Johnny Sung
---
How visually impaired people use their phone?
How mobile developer fix their problems they encountered?
Here is the small tips for that.
uPresenter, new way to control keynote.
Wear on your Glass or Smart Watch, and have a nice presentation.
---
Available on Google Play
https://play.google.com/store/apps/details?id=com.johnnyworks.presenter
Android workshop - 02. Glass development 101Johnny Sung
Glass development 101
All example sources are in Github:
Example 00: Hello, World
https://github.com/j796160836/GlassWorkshop-Exercise00_HelloWorld
Example 01: New Hello, World
https://github.com/j796160836/GlassWorkshop-Exercise01_NewHelloWorld
Example 02: MyVoiceCommand
https://github.com/j796160836/GlassWorkshop-Exercise02_MyVoiceCommand
Example 03: UseCardBuilder
https://github.com/j796160836/GlassWorkshop-Exercise03_CardBuilder
Android workshop - 01. Getting started on android phoneJohnny Sung
All example sources are in Github:
Example 00: Hello, World
https://github.com/j796160836/PetStar-Exercise00_HelloWorld
Example 01: Show pet’s name
https://github.com/j796160836/PetStar-Exercise01_PetsName
Example 02: Pet’s name card
https://github.com/j796160836/PetStar-Exercise02_PetsNameCard
16. Property: Indicate
• Health Thermometer
• Temperature Measurement
• Data
• Descriptor
GATT
Health Thermometer
00001809-0000-1000-8000-00805F9B34FB
00002A1C-0000-1000-8000-00805F9B34FB
19. • an indicate operation is identical to
a notify operation except that
indications are acknowledged,
while notifications are not.
Notify vs Indicate
http://mbientlab.com/blog/bluetooth-low-energy-introduction/
25. Property: Indicate
• Health Thermometer
• Temperature Measurement
• Data
• Descriptor
GATT
Health Thermometer
00001809-0000-1000-8000-00805F9B34FB
00002A1C-0000-1000-8000-00805F9B34FB
26.
27. • Central
• Android 4.3 (API Level 18)
• Peripheral
• Android 5.0 (API Level 21)
• Specific BLE chip
Requirement in Android
34. Bluetooth permissions
Check system feature
getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)
@Override
public void onActivityResult(int requestCode
, int resultCode, Intent data) {
if (requestCode == REQUEST_ENABLE_BT) {
if (resultCode == Activity.RESULT_OK) {
// Bluetooth has turned on
} else {
// User did not enable Bluetooth or an error occurred
}
}
}
Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableIntent, REQUEST_ENABLE_BT);
Request to enable Bluetooth
35. BluetoothGattService hrmService =
new BluetoothGattService(SERVICE_HEALTH_THERMOMETER_UUID,
BluetoothGattService.SERVICE_TYPE_PRIMARY);
BluetoothGattCharacteristic tempChar =
new BluetoothGattCharacteristic(CHAR_TEMP_UUID,
BluetoothGattCharacteristic.PROPERTY_INDICATE,
BluetoothGattCharacteristic.PERMISSION_READ);
tempChar.addDescriptor(new BluetoothGattDescriptor(
UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"),
(BluetoothGattDescriptor.PERMISSION_READ |
BluetoothGattDescriptor.PERMISSION_WRITE)));
hrmService.addCharacteristic(tempChar);
Prepare service structure
Health Thermometer
2A1C
1809
36. AdvertiseData.Builder datas = new AdvertiseData.Builder();
AdvertiseSettings.Builder settings = new AdvertiseSettings.Builder();
datas.addServiceUuid(new ParcelUuid(hrmService.getUuid()));
BluetoothLeAdvertiser advertiser = adapter.getBluetoothLeAdvertiser();
advertiser.startAdvertising(settings.build(),
datas.build(), advertiseCallback);
BluetoothManager manager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter adapter = bluetoothManager.getAdapter();
BluetoothGattServer gattServer =
manager.openGattServer(context, gattServerCallback);
gattServer.addService(hrmService);
Open server
Advertise to others
37. AdvertiseCallback advertiseCallback = new AdvertiseCallback() {
@Override
public void onStartSuccess(AdvertiseSettings settingsInEffect) {
// ...
}
@Override
public void onStartFailure(int errorCode) {
// ...
}
};
Advertise callback
38. private HashSet<BluetoothDevice> bleDevices = new HashSet<>();
private final BluetoothGattServerCallback gattServerCallback =
new BluetoothGattServerCallback() {
@Override
public void onConnectionStateChange(BluetoothDevice device,
int status, int newState) {
super.onConnectionStateChange(device, status, newState);
if (status == BluetoothGatt.GATT_SUCCESS) {
if (newState == BluetoothGatt.STATE_CONNECTED) {
// Connect
bleDevices.add(device);
} else if (newState == BluetoothGatt.STATE_DISCONNECTED) {
// Disconnect
bleDevices.remove(device);
}
} else {
// Disconnect with error
bleDevices.remove(device);
}
}
// ... (略)
};
Handle device connect
39. private final BluetoothGattServerCallback gattServerCallback
= new BluetoothGattServerCallback() {
// ... (略)
@Override
public void onCharacteristicReadRequest(BluetoothDevice device,
int requestId, int offset,
BluetoothGattCharacteristic characteristic) {
// ...
gattServer.sendResponse(device, requestId,
BluetoothGatt.GATT_SUCCESS,
offset,
characteristic.getValue());
}
// ... (略)
};
Reading Characteristic
49. We introduced BLE peripheral mode in Android 5.0
Lollipop. Nexus 6 and Nexus 9 are the first two production
Nexus devices that support BLE peripheral mode. Due to
hardware chipset dependency, older Nexus devices (4/5/7)
will not have access to the feature on Lollipop.
#52 Won’t Fix