愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • Smart幫助主頁
  • 學習手冊

  • 開發手冊

    • 通訊協議

      • 通訊埠

      • 藍芽Bluetooth

        • 藍芽電子秤
          • 1. 說明
          • 2. 設計明細
          • 3. 程式設計
            • 3.1. 程式初始設定
            • 3.2. 事件設定
          • 4. 運行結果
        • 藍芽控制LED燈
        • 藍芽讀取溫濕度
      • 無線網WIFI

      • ModbusRTU

      • ModbusTCP

      • OPC

      • MQTT

      • RestAPI

      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

藍芽電子秤

# Smart之藍芽電子秤

# 1. 說明

  範例採用藍芽通訊協議,讀取電子秤並控制電子秤的去皮清零操作。PC端發送讀取指令,電子秤返回稱重重量的資訊;PC端發送去皮與置零的指令,電子秤端執行相應的操作。在使用該功能前需要將設備與電子秤進行藍芽配對連線。對應的PIN以及藍芽的MAC地址可以在電子秤的產品說明中檢視。

  範例使用到的電子秤為耀華XK3190-A12+E,其秤頭的外觀如下圖所示。該型號的電子秤可提供藍芽連線的支援。在使用範例前,請先確認計算機是否支援藍芽,是否已與電子秤進行藍芽配對連線,否則會導致範例運行失敗。

# 2. 設計明細

  開啟Smart智慧控制平臺,分別加入下插圖之控制元件。或者通過點選功能表欄[檔案]-[打開專案]選擇範例專案檔案來打開該範例。

藍芽電子秤 UI佈局

  ①:TLabel元件,控制元件名稱為Label1。

  ②:TImage元件,控制元件名稱為Image1。

  ③:TBluetooth元件,控制元件名稱為Bluetooth1。

  ④:TImage元件,控制元件名稱為ImageDevice。

  ⑤:TLabel元件,控制元件名稱為Label2。

  ⑥:TComboBox元件,控制元件名稱為ComboBoxPaired。

  ⑦:TTimer元件,控制元件名稱為Timer1。

  ⑧:TImage元件,控制元件名稱為Image2。

  ⑨:TWidgetLCDLabel元件,控制元件名稱為WidgetLCDLabel1。

  ⑩:TImage元件,控制元件名稱為ImageServices。

  (11):TImage元件,控制元件名稱為ImageSheer。

  (12):TImage元件,控制元件名稱為ImageZero。

  (13):TComboBox元件,控制元件名稱為ComboBoxServices。

  • Main主窗體設定

    • BorderStyle:設定窗體樣式型別=bsDialog。
    • Caption:設定窗體標題=藍芽電子秤。
    • ClientHeight:設定窗體客戶區高度=504。
    • ClientWidth:設定窗體客戶區寬度=635。
  • ①Label1屬性設定

    • Caption:設定顯示的字幕內容=藍芽電子秤。
    • Font:設定字型。雙擊該屬性或者點選屬性右側的[...]打開字型設定界面。
  • ②Image1屬性設定

    • Align:設定對齊方式=alClient。
    • Stretch:設定圖片拉伸=True。
    • Picture:設定圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ④ImageDevice屬性設定

    • Height:設定控制元件的高度=31。
    • Width:設定控制元件的寬度=31。
    • Stretch:設定圖片拉伸=True。
    • Name:設定控制元件名稱=ImageDevice。
    • Picture:設定顯示的圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ⑤Label2屬性設定

    • Caption:設定顯示的字幕內容=藍芽電子秤。
    • Font:設定字型。雙擊該屬性或者點選屬性右側的[...]打開字型設定界面。
  • ⑥ComboBoxPaired屬性設定

    • Name:設定控制元件名稱=ComboBoxPaired。
    • Font:設定字型。雙擊該屬性或者點選屬性右側的[...]打開字型設定界面。
  • ⑦Timer1屬性設定

    • Enabled:是否啟用計時器=False。
    • Interval:設定計時器觸發的時間間隔=2000。
  • ⑧Image2屬性設定

    • Height:設定控制元件的高度=417。
    • Width:設定控制元件的寬度=624。
    • Stretch:設定圖片拉伸=True。
    • Picture:設定顯示的圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ⑨WidgetLCDLabel屬性設定

    • Height:控制元件高度,設定為130。
    • Width:控制元件寬度,設定為308。
    • Fill.Kind:設定填充樣式=gfkSolid。
    • Caption.FillOff.Color:設定未顯示區域的數值顏色=clBlack。
    • Caption.Format:設定預設顯示的數值格式型別= 000.00。
  • ⑩ImageServices屬性設定

    • Height:設定控制元件的高度=31。
    • Width:設定控制元件的寬度=31。
    • Stretch:設定圖片拉伸=True。
    • Name:設定控制元件名稱=ImageServices。
    • Picture:設定顯示的圖片。點選Picture屬性右側的[...]按鈕,打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • (11)ImageSheer屬性設定

    • Height:設定控制元件的高度=30。
    • Width:設定控制元件的寬度=32。
  • (12)ImageZero屬性設定

    • Height:設定控制元件的高度=30。
    • Width:設定控制元件的寬度=32。
  • (13)ComboBoxServices屬性設定

    • Name:設定控制元件名稱=ComboBoxServices。
    • Font:設定字型。雙擊該屬性或者點選屬性右側的[...]打開字型設定界面。

# 3. 程式設計

# 3.1. 程式初始設定

  該程式無初始設定。

# 3.2. 事件設定

  • ④ImageDevice-OnClick事件

  點選設備藍芽的按鈕,列出目前已配對的藍芽設備列表。

procedure TMyHandler.ImageDevicesClick;
//點選載入配對設備列表
begin
  FThis.Bluetooth1.PairedDevices;
  FThis.ComboboxPaired.Items := FThis.Bluetooth1.BTPaireds;
  FThis.ComboBoxPaired.DroppedDown := True;
  FThis.ImageDevices.Enabled := False;
end;
1
2
3
4
5
6
7
8
  • ⑩ImageServices-OnClick事件

  點選設備服務按鈕,列出選擇設備可用的藍芽服務。

procedure TMyHandler.ImageSevicesClick;
//點選載入服務至列表 
begin
  FThis.Bluetooth1.Services;
  FThis.ComboBoxServices.Items := FThis.Bluetooth1.BTServices;
  FThis.ComboBoxServices.DroppedDown := True;
end;
1
2
3
4
5
6
7
  • ⑥ComboBoxPaired-OnChange事件

  將配對設備的名稱填入藍芽控制元件的設備屬性中。

procedure TMyHandler.ComboBoxPairedChange;
//切換設備
begin
  FThis.Bluetooth1.PairedDevice := FThis.ComboBoxPaired.Items[FThis.ComboBoxPaired.ItemIndex]; 
end;
1
2
3
4
5
  • (13)ComboBoxServices-OnChange事件

  點選以切換藍芽服務。

procedure TMyHandler.ComboBoxServicesChange;
//切換服務
begin
  FThis.Timer1.Enabled := False;
  FThis.Bluetooth1.CloseServerSocket;
  FThis.Bluetooth1.FreeClientSocket;
  if FThis.Bluetooth1.PairedDevice = '' then
  begin
    ShowMessage('未選擇配對設備!');
    exit;
  end;
  FThis.Bluetooth1.ServiceUUID := FThis.Bluetooth1.BTServices[FThis.ComboBoxServices.ItemIndex];
  FThis.Bluetooth1.CreateServerSocket;
  FThis.Timer1.Enabled := True;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • ⑦Timer1-OnTimer事件

  計時器觸發事件,讀取讀數。

procedure TMyHandler.Timer1Timer;
//定時讀取
begin
  FThis.Bluetooth1.SendData('R');
  FThis.Bluetooth1.ReadData;
end;
1
2
3
4
5
6
  • ③Bluetooth1-OnReceiveData事件

  獲取數值並解析顯示。

procedure TMyHandler.Bluetooth1ReceiveData;
//接收數據並顯示
//獲取接收資訊,並進行處理以顯示為正確的結果
var
 ASymbol,AStr,FData:string;
 AValue: Double;
Begin
  if ReceiveData <> '' Then
  begin
   FData :=Trim(ReceiveData);
   if Copy(FData,1,2) = 'AD' Then
   begin
    ASymbol:=Copy(FData,3,1);
    AStr:=Copy(FData,4,6);
    if ASymbol='+' Then
      AValue:=StrToFloat(AStr)*0.001
    else
      AValue:=StrToFloat(AStr)*0.001*(-1);   
      FThis.WidgetLCDLabel1.Caption.Value := AValue;
    end; 
  end
  else
    FThis.WidgetLCDLabel1.Caption.Value := 0;        
End;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  • (11)ImageSheer-OnClick事件

  點選執行去皮操作。

procedure TMyHandler.ImageSheerClick;
//去皮
begin
  FThis.Bluetooth1.SendData('T');
  FThis.Bluetooth1.ReadData;
end;
1
2
3
4
5
6
  • (12)ImageZero-OnClick事件

  點選執行清零操作。

procedure TMyHandler.ImageZeroClick;
//置零
begin
  FThis.Bluetooth1.SendData('Z');
  FThis.Bluetooth1.ReadData;
end;
1
2
3
4
5
6

# 4. 運行結果

  通過工具欄儲存,將程式儲存為 sdb 專案檔案。

  使用滑鼠點選工具欄運行(Run),測試運行結果。程式啟動后,點選藍芽圖示,右側下拉框顯示配對的藍芽設備列表,點選選擇。然後點選服務圖示按鈕,右側下拉框顯示目前設備可用的服務,點選選擇以建立連線,此時可以獲取到讀數資訊,點選[去皮]、[置零]按鈕可對電子秤進行去皮和置零操作。

智能電錶採集
藍芽控制LED燈

← 智能電錶採集 藍芽控制LED燈→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式