于是就有了寫作本文的動力,--------解決同時連接多臺藍牙設備!!!
站在用戶的角度思考問題,與客戶深入溝通,找到天心網(wǎng)站設計與天心網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋天心地區(qū)。
flutter_blue 適合于單臺的藍牙設備,使用起來簡單
flutter_reactive_ble 適合于單臺的藍牙設備,多臺藍牙設備也可以用
flutter_ble_lib 適合于單臺的藍牙設備,多臺藍牙設備也可以用,可以在模擬器上進行調試藍牙
感覺后2個第三方庫都可以使用,本人先入為主使用了flutter_reactive_ble,所以本文以flutter_reactive_ble為基礎進行介紹
先聲明4個全局變量,后面會用到
開始掃描
如果掃描過程,不使用過濾條件,withServices這個參數(shù)可以給個空數(shù)組
停止掃描如下
連接設備
斷開設備,
每連接成功一個設備后,就會產(chǎn)生一個_connectionStreamSubscription,對應設備的斷開,就用對應的StreamSubscription去斷開, 可以用一個HashMap,去記錄 連接成功的設備 與 StreamSubscription 的對應關系
去掃描服務,并過濾服務,掃描結果服務里面是包含有特征的數(shù)組,如: serviceId:[fff0,fff1,fff2,fff3,...]
去監(jiān)聽上報來的數(shù)據(jù),參數(shù)來自前面掃描到的結果serviceId--服務ID, characteristicId--特征ID,deviceId--設備ID
后面就是各位看官根據(jù)自己的需求去做邏輯處理啦。
對設備設置命令,發(fā)送請求(寫操作),list為整形數(shù)據(jù),要寫的數(shù)據(jù)
讀取設備的信息(讀操作)
flutter 多臺藍牙設備同時連接的分享就到這里嘍,小伴們,覺得有點用的話,或者已經(jīng)看到這里面來的請點個贊吧~~ 后續(xù)分享更多有關flutter的文章。如果有疑問的話,請在下方留言~
過一段時間后,我在項目把這個藍牙庫用起來了,基本能滿足日常需求.效果如下:
不需要任何軟件,只要打開手機的設置,無線網(wǎng)絡,打開WIFI,點擊搜索,就可以搜索出當前的所有WIFI名稱。
iphone11相機為什么只能放大5倍??
程序鵝 ?
碼齡5年
關注
在做掃碼需求,往往會有放大鏡頭需求。
蘋果提供了AVCaptureConnection中,videoScaleAndCropFactor:縮放裁剪系數(shù),使用該屬性,可以實現(xiàn)拉近拉遠鏡頭。再結合手勢UIPinchGestureRecognizer,就很簡單實現(xiàn)手勢拉近拉遠鏡頭。
手勢代碼
///記錄開始的縮放比例
@property(nonatomic,assign)CGFloat beginGestureScale;
///最后的縮放比例
@property(nonatomic,assign)CGFloat effectiveScale;
- (void)cameraInitOver
{
if (self.isVideoZoom) {
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchDetected:)];
pinch.delegate = self;
[self.view addGestureRecognizer:pinch];
}
}
- (void)pinchDetected:(UIPinchGestureRecognizer*)recogniser
{
self.effectiveScale = self.beginGestureScale * recogniser.scale;
if (self.effectiveScale 1.0){
self.effectiveScale = 1.0;
}
[self.scanObj setVideoScale:self.effectiveScale];
}
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
if ( [gestureRecognizer isKindOfClass:[UIPinchGestureRecognizer class]] ) {
_beginGestureScale = _effectiveScale;
}
return YES;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
拉近拉遠鏡頭代碼
- (void)setVideoScale:(CGFloat)scale
{
[_input.device lockForConfiguration:nil];
AVCaptureConnection *videoConnection = [self connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self stillImageOutput] connections]];
CGFloat maxScaleAndCropFactor = ([[self.stillImageOutput connectionWithMediaType:AVMediaTypeVideo] videoMaxScaleAndCropFactor])/16;
if (scale maxScaleAndCropFactor)
scale = maxScaleAndCropFactor;
CGFloat zoom = scale / videoConnection.videoScaleAndCropFactor;
videoConnection.videoScaleAndCropFactor = scale;
[_input.device unlockForConfiguration];
CGAffineTransform transform = _videoPreView.transform;
[CATransaction begin];
[CATransaction setAnimationDuration:.025];
_videoPreView.transform = CGAffineTransformScale(transform, zoom, zoom);
[CATransaction commit];
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
有一點需要注意:the videoScaleAndCropFactor property may be set to a value in the range of 1.0 to videoMaxScaleAndCropFactor,videoScaleAndCropFactor這個屬性取值范圍是1.0-videoMaxScaleAndCropFactor,如果你設置超出范圍會崩潰哦!
iOS 模仿微信掃描二維碼放大功能
我們知道,微信掃描二維碼過程中,如果二維碼圖片焦距比較遠,會拉近焦距,實現(xiàn)放大功能。這種效果如何該實現(xiàn),用原生的API又是如何實現(xiàn)。本文簡單嘗試如何使用AVFoundation實現(xiàn)放大二維碼圖片。重點是如何定位二維碼和放大二維碼,前面介紹了 iOS 掃描二維碼實現(xiàn)手勢拉近拉遠鏡頭 iOS 識別過程中描繪二維碼邊框 和iOS 識別過程中描繪二維碼邊框 ,我們可以很簡單的實現(xiàn)二維碼定位和放大。 ...
APP打開
Android代碼-Flutter實現(xiàn)的二維碼掃描。
flutter_mobile_vision Flutter implementation for Google Mobile Vision. Based on Google Mobile Vision
APP打開
掃描二維碼研究總結(高仿微信掃一掃,輕松實現(xiàn)定制掃描界面)
在正文之前說點題外話,加上這篇我已經(jīng)寫了3篇博客了,其實我寫博客的初衷不是想證明自己有多牛,并且我也只是從事安卓開發(fā)只有半年時間的小渣,但是不想成為大牛的渣不是好渣,所以我想通過博客把工作學習中遇到的問題進行研究總結,從而提高自己,與此同時如果能給廣大從事安卓開發(fā)的朋友們提供幫助或者是提供一點點思路我也是很心滿意足了!~~好了,廢話不多少進入正題吧! 先上界面圖。由于目前不會錄屏,所以直接上截圖...
APP打開
ios 掃描二維碼實現(xiàn)自動放大和手勢雙擊放