@
まず、第1図の効果。
第6のステップにおける第四工程のC51プログラムにおいて、アプリケーションプログラム
第二に、原理を説明します
それは理論的根拠を概説:パブリッシュおよびサブスクライブ・モデルを使用します。最初のステップ、STC89c51の取得各種センサ値、第二段階、新しいテーマは、その後、テーマは、第三工程にメッセージを送信C51。アプリの発明者は、アプリの発明者がアプリをテーマに加入したため、あなたは、あなたが様々なセンサ値を受け取ることができている対象からのメッセージを受け取ることができ、このトピックを購読します。
購読公開について:
購読(購読):特定のトピックにサブスクライブ。
指定されたトピックにメッセージを送信するためのリリース(リリース)。
加入者彼らはメッセージを受信する前に、トピックは、そのトピックに送られたことを唯一のデバイス。
人気の用語:それはモデルがあるパブリッシュ/サブスクライブし、100人が同時に電子メール通知を受け取ります、ブロガーが記事を公開した場合に100人が、あなたのブログに加入することを、何を意味している、のようなものですブログのシーンにサブスクライブそのようなA原理。
あなたは、それは確かにある、FMの人生のように、話に再び人気の言葉を理解し、ラジオを聴く、ラジオを聞くことをしていない場合は、上記のみ右チャンネルでは、我々は我々が最初のサブスクリプションチャンネルに登録する必要がありそうという、素敵なプログラムを聞きます唯一のトピックにサブスクライブ/テーマは、我々は、チャネル/トピックに送信されたメッセージを受け取ることができます。
このルーチンでは、ESP8266プッシュメッセージ、アプリのサブスクリプションをテーマに、C51のC51援助はリアルタイムで送信されたメッセージを受け取ることができます。
第三に、C51は、様々なセンサ値を読み込み、
みんなのセンサーが同じではありませんので、プログラム内の仮想値の統一ルーチンをやって、直接の使用はありません、あなたは次のように知っています。
char data1[] = "32"; ////为了演示定义的模拟数据,可根据自己传感器自行采集数据
char data2[] = "27.8"; //
char data3[] = "45";
char data4[] = "26";
char data5[] = "99.12";
char data6[] = "ON";
ここでの唯一のデータタイプは自由に自己修正することができる、センサ値の数を増減すること自由に、当然のことながら、自分のニーズに応じて、6つの値を定義します。
第四に、センサデータをクラウドにプッシュされます
C51サンプルプログラムのダウンロード:ダウンロード
プログラム説明は、9600は、11.0592結晶
ESP8266-01デフォルトのボーレートは115200であるため、手動でボーレートesp8266-01を調整する必要があります。
調整方法:ESP8266-01はTTLにUSBに接続
ファイブライン
esp8266 --------- UsbTTL
TX ---------- RX
RX TX ----------
VCC ------- 3.3V
GND- GND -------
EN ---------- 3.3V
シリアルデバッグアシスタントを開き、ボーレート115200、およびesp8266 COMポートのオープンを見つけ、送信を設定します
AT+UART=9600,8,1,0,0
キャリッジリターンラインの末尾に追加する必要があり、シリアルポートは、[OK]を応答します
私は別の記事の表示、[OK]を返信しない場合は、ファームウェアはボーレートをサポートしていない変更があり、あなたは公式のファームウェアATを磨くために必要な公式のファームウェアをブラシ
シリアルデバッグアシスタントのダウンロードツール:https://www.lanzous.com/iax97ihパスワード:1234
前のステップセンサデータを正常に読み取ることができれば、それはクラウドにアップロードされたデータのバージョンの基礎となり得ます。
変更するKeil社、WIFIやその他の情報ニーズによってプログラムを開きます
#define Ssid "newhtc" //WIFI名称,,修改为自己路由器的WIFI名称,好像不支持中文
#define PassWord "qq123456" //WIFI密码,修改为自己路由器的
#define Uid "4d9ec352e0376f2110a0c601a2857225" //巴法云UID密钥,控制台获取
#define Topic "mytemp" //巴法云控制台创建,名称自定义,app订阅主题要和这个推送主题一致
でパレスチナの法律メーカー培養クラウドコンソール使用MYTEMPと、この例では、例えばMYTEMPのために、ランダムに新しいテーマ、テーマ名を作成するために、独自のテーマ名、文字、または数字や文字を加えた数字の組み合わせのためのサンプルコードを変更するために使用されるべきです。UIDは、ユーザーの秘密鍵であり、パキスタンの法律メーカー培養クラウドコンソール登録着陸後に使用可能。
ログイン後示すように、あなたは、コンソールで彼の秘密鍵のUIDを見ることができます:
コンソールでテーマを作成して、あなたはテーマを作成することができます。
- 第一の入力、文字または数字または文字+数字の組み合わせに関連します。
- テーマを作成するにはクリックしてください。
自分の名前、大文字と小文字が区別のためのWIFIの無線LANルータ名、誤った接続につながることができ、ネットワーク上ではありません。
void POST(void)//POST数据函数
{
int dataLen;
uchar postData[150];
char strLen[3];
char data1[] = "32"; ////为了演示定义的模拟数据,可根据自己传感器自行采集数据
char data2[] = "27.8"; //
char data3[] = "45";
char data4[] = "26";
char data5[] = "99.12";
char data6[] = "ON";
//通过&符号整合需要post的数据。传感器数据用#分开,以便app进行数据分割
//自己要知道每个数据代表的意思,一会app端会按排列分割提取数值
sprintf(postData,"uid=%s&topic=%s&msg=#%s#%s#%s#%s#%s#%s#\r\n",Uid,Topic,data1,data2,data3,data4,data5,data6);
dataLen = strlen(postData); //计算数据长度
sprintf(strLen,"%d",dataLen); //int类型转char
ESP8266_Set("AT+CIPMODE=1"); //开启透明传输模式
ms_delay(1000);
ESP8266_Set("AT+CIPSTART=\"TCP\",\"api.bemfa.com\",80"); // 连接服务器和端口
ms_delay(1000);
ESP8266_Set("AT+CIPSEND"); //进入透传模式,下面发的都会无条件传输
ms_delay(1000);
ESP8266_Set_Only("POST /api/device/v1/data/1/ HTTP/1.1\r\nHost: api.bemfa.com\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection:close\r\nContent-Length:");//ţքdeviceۅ ţքsensorۅ
ESP8266_Set(strLen);//数据长度(postData数据长度),一定要准确
ESP8266_Set("");//回车(发完数据长度后,有回车,不懂的百度http post 格式)
ESP8266_Set(postData);//发送数据
ms_delay(2000);
ESP8266_Set("+++"); //
memset(strLen,'\0',3); //重置数组
memset(strLen,'\0',sizeof postData);//重置数组
}
通过&符号整合需要post的数据。传感器数据用#分开,以便app进行数据分割
自己要知道每个数据代表的意思,一会app端会按排列分割提取数值
使用HTTP POSTフォーム、特定のインタフェースを参照して、サーバーにメッセージをプッシュする:パレスチナの公式文書ファユン
あなたは第五STC89c51にプログラムをダウンロードすることができます
ダウンロードツールSTC-ISP:ダウンロード:https://www.lanzous.com/iaxa4fcパスワード:1234
STC89c51 / 52および配線の問題ESP8266
C51 ---------- 8266
P30 ---------- TXの
P31 ---------- RX
3.3V ----- 3.3V ------
GND GND ---------
3.3V ----------- EN
テスト8266ダイレクトアクセス5Vも仕事が、推奨されていません
あなたがネットワークのルータを持っている場合は、自動的で利用可能なデータをアップロードしますパレスチナの法律メーカー培養クラウドコンソールをページを更新するには、データのアップロードを見ることができます。下図のように:
![ここに挿入した画像](https://img-blog.csdnimg.cn/20200103122337583.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9iZW1mYS5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70#pic_center = 350X )
第六に、アプリがリアルタイムデータを受信するために作られたアプリの発明
appInventorでジャンプする]をクリックし、アカウントを作成するために、国内のステーションを、してログインします。
この操作は、デモの唯一のアプリケーションを提供するインタフェースがあまりにも醜いです、あなたは、インターフェイスの遊びを変更することができます。
アプリの発明のダウンロード:ダウンロード
上部のナビゲーションバー、クリック(プロジェクト - >プロジェクトのインポートのAIA)は、AIAファイルのインポートをダウンロードする前のステップを選択します。インポートアイテムをクリックして、あなたがコントロールパネルを見ることができ、パネルはデザインとロジックデザインの形成に分割され、ユーザーは、右上隅にモードを切り替えることができます。
![アプリ](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9zMi5heDF4LmNvbS8yMDE5LzA3LzI1L2VtVlpvNC5wbmc#pic_center = 350X)
(デザインの形成)は、二次開発のための画面に設定パネルに追加することができます。(論理パネル)書き込みに関連する論理が実行されます。
![APP](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9zMi5heDF4LmNvbS8yMDE5LzA3LzI1L2VtVmx5Ni5wbmc#pic_center = 500X)
ファイルのAIAをインポートした後、使用するだけの単純な場合には、唯一、1は名前の主題である、二つの場所を変更するために開発されるUID、必要性を必要とします自分のトピック(テーマ名)とUID(ユーザの秘密鍵)を交換し、誰メイカーズムーブメントは、クラウドコンソール取得することができますジャンプにクリックを。
テーマトピックは、ここにあるべきとテーマを設定ESP8266プログラムは同じに変更、またはメッセージを受信しません。自分の秘密鍵の変更UIDです。
彼らは自由に追加することができるように、変更は良いですが、また機能をインタフェースAPKファイルをダウンロードしてください。
![アプリ](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9zMi5heDF4LmNvbS8yMDE5LzA3LzI1L2VtVnRGSC5wbmc#pic_center = 350X)
プログラムを説明するための鍵
プログラムのダウンロード、重要なパラメータを変更するには、以下の手順を説明するための鍵である、直接使用することができます。
列番号#分割によるセンサを用いてデータを受信した後、いくつかの値があり、それは数回分割され、それらは覚えて、温度DATA1として、ラインセンサの代表値そのうちいくつかを覚えておく必要があり、 DATA2分割の数と必要なデータ数が等しいアップロード湿度など、6つの値、それを6回に分け、7倍の値が7を分割しますが順次増加または行に減少します。
画面が初期化されると、それは最初だけで、このテーマに加入し、トピックをサブスクライブします、あなたがメッセージを受信することができ、リアルタイムの話題に送られ、CMD = 1は、サブスクリプションの指示で意味のトピックにサブスクライブすることです。= 9 cmdは命令の証である、それは取得することですサーバーに格納された値、特定の命令形式については、文書がアクセスを学ぶことができます:アクセスの問題
第七に、結果は
アプリケーションは、リモート電話ネットワークがデータを受信することができる限り、行うことができる監視、各種センサからの現在のリアルタイム情報を示しています。それは、2G、3G、4G WIFIがどうなるかどうかは
第八に遭遇することができるいくつかのマイナーな問題