用STC89C52連接Phyphox(多數(shù)據(jù)協(xié)同)這一篇筆記,盡管是使用51單片機(jī)實現(xiàn)的,但從原理以及未來的實用性上看,顯然適用于Arduino、ESP32以及8266等其他常見單片機(jī),集成藍(lán)牙與不集成藍(lán)牙都是一樣的,只要走藍(lán)牙通道。 轉(zhuǎn)眼藍(lán)牙連接Phyphox的研究已經(jīng)是第7篇筆記了,先列一下表:
我們真的要使用STC89C52RC做實驗的話,大概率要碰到同時采集兩種或兩種以上的傳感器數(shù)據(jù)的情況,例如伏安法測電阻,測定二極管伏安特性曲線等,可能希望電壓、電流同時能夠送到Phyphox才好。使用ESP32創(chuàng)作實驗,要使用Phyphox官方的Phyphox-BLE庫,這個庫受到Arduino IDE的支持,使創(chuàng)作實驗時,能自動支持到同時有5個實型數(shù)據(jù)傳輸,這可以從BLE庫的write()函數(shù)中看到;但若企圖傳輸10個、20個數(shù)據(jù),或者其它類型的數(shù)據(jù)傳輸,要么不被支持,要么需要自己去重寫write()函數(shù)體。 這一篇C51下的多數(shù)據(jù)協(xié)同的研究意義就在于此,我們希望能找到多個數(shù)據(jù)傳輸?shù)姆椒?,實現(xiàn)多數(shù)據(jù)的協(xié)同工作。 一、c文件定義好發(fā)送字符串的函數(shù),并初始化串口后: void main() strcpy函數(shù)需要#include <string.h> 和 #include <stdio.h>兩個頭文件。這里的代碼是要發(fā)送12#34#56字符串給Phyphox。這個字符串是有格式的,#作為分隔符,到Phyphox Editor里面要使用這個分隔符。 二、Phyphox Editor當(dāng)Phyphox Editor中編輯Phyphox文件時,我們只能被允許創(chuàng)建一個Bluetooth視圖,亦即Phyphox只能使用一個藍(lán)牙,但能傳輸多少數(shù)據(jù)是不限制的(實際受藍(lán)牙本身的傳輸規(guī)范限制),這樣我們只要傳輸一個帶格式字符串,多數(shù)據(jù)協(xié)同即成功。 我們指定接收到的數(shù)據(jù)按formattedString轉(zhuǎn)換,在separator中指定接收的數(shù)據(jù)由#分開,并在index中指定0,則取出12#34#56中的索引為0的數(shù)據(jù):12;再創(chuàng)建一個output變量,指定index為2,則取出12#34#56中的索引為2的數(shù)據(jù):56。 編寫Analysis部分。把兩個輸出變量送給兩個value: 到Download/Transfor標(biāo)簽里下載回phyphox文件,運(yùn)行,看到名稱為11111的value里面正確顯示了12#34#56分割后的數(shù)據(jù)12,即12.00;名稱為2222的value里面顯示了分割后的56,即56.00。 |
|
來自: 新用戶5228KeDY > 《待分類》