mbed(エンベッド)の仕組みを学び、試作体験!用のサンプル

Dependencies:   BD6211F Milkcocoa-os

Fork of MilkcocoaOsSample_Eth by Junichi Katsu

Committer:
jksoft
Date:
Mon Aug 07 07:08:25 2017 +0000
Revision:
7:1d4b77d3eed4
Parent:
5:103da32c92c7
First edition

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:885b53a42035 1 #include "mbed.h"
jksoft 0:885b53a42035 2 #include "Milkcocoa.h"
jksoft 0:885b53a42035 3 #include "EthernetInterface.h"
jksoft 7:1d4b77d3eed4 4 #include "BD6211F.h"
jksoft 0:885b53a42035 5
jksoft 0:885b53a42035 6 EthernetInterface eth;
jksoft 0:885b53a42035 7 RawSerial pc(USBTX,USBRX);
jksoft 7:1d4b77d3eed4 8 BD6211F motor(D6,D7);
jksoft 0:885b53a42035 9
jksoft 0:885b53a42035 10 /************************* Your Milkcocoa Setup *********************************/
jksoft 0:885b53a42035 11
jksoft 1:1ab9d9f92764 12 #define MILKCOCOA_APP_ID "...YOUR_MILKCOCOA_APP_ID..."
jksoft 7:1d4b77d3eed4 13 #define MILKCOCOA_DATASTORE "motor"
jksoft 0:885b53a42035 14
jksoft 0:885b53a42035 15 /************* Milkcocoa Setup (you don't need to change this!) ******************/
jksoft 0:885b53a42035 16
jksoft 0:885b53a42035 17 #define MILKCOCOA_SERVERPORT 1883
jksoft 0:885b53a42035 18
jksoft 0:885b53a42035 19 /************ Global State (you don't need to change this!) ******************/
jksoft 0:885b53a42035 20 const char MQTT_SERVER[] = MILKCOCOA_APP_ID ".mlkcca.com";
jksoft 0:885b53a42035 21 const char MQTT_CLIENTID[] = __TIME__ MILKCOCOA_APP_ID;
jksoft 0:885b53a42035 22
jksoft 0:885b53a42035 23 extern void onpush(MQTT::MessageData& md);
jksoft 0:885b53a42035 24
jksoft 0:885b53a42035 25 int main() {
jksoft 7:1d4b77d3eed4 26 motor = 0.0;
jksoft 0:885b53a42035 27
jksoft 0:885b53a42035 28 pc.baud(9600);
jksoft 0:885b53a42035 29 pc.printf("Milkcocoa mbed os ver demo\n\r\n\r\n\r");
jksoft 0:885b53a42035 30
jksoft 0:885b53a42035 31 int ret = eth.connect();
jksoft 0:885b53a42035 32 if (ret != 0) {
jksoft 0:885b53a42035 33 printf("\r\nConnection error\r\n");
jksoft 0:885b53a42035 34 return -1;
jksoft 0:885b53a42035 35 }
jksoft 0:885b53a42035 36 pc.printf("\n\rEthernet connected\n\r");
jksoft 0:885b53a42035 37
jksoft 0:885b53a42035 38 Milkcocoa* milkcocoa = new Milkcocoa(&eth, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID);
jksoft 0:885b53a42035 39
jksoft 0:885b53a42035 40 milkcocoa->connect();
jksoft 0:885b53a42035 41
jksoft 0:885b53a42035 42 pc.printf("%d\n\r",milkcocoa->on(MILKCOCOA_DATASTORE, "push", onpush));
jksoft 0:885b53a42035 43
jksoft 0:885b53a42035 44 while(1) {
jksoft 5:103da32c92c7 45 milkcocoa->loop();
jksoft 0:885b53a42035 46 }
jksoft 0:885b53a42035 47 }
jksoft 0:885b53a42035 48
jksoft 0:885b53a42035 49 void onpush(MQTT::MessageData& md)
jksoft 0:885b53a42035 50 {
jksoft 7:1d4b77d3eed4 51 int control = 0;
jksoft 0:885b53a42035 52 MQTT::Message &message = md.message;
jksoft 0:885b53a42035 53 DataElement de = DataElement((char*)message.payload);
jksoft 7:1d4b77d3eed4 54 control = de.getInt("Control");
jksoft 7:1d4b77d3eed4 55 pc.printf("%d\n\r",de.getInt("Control"));
jksoft 7:1d4b77d3eed4 56
jksoft 7:1d4b77d3eed4 57 motor = (float)control / 100.0;
jksoft 0:885b53a42035 58 }