質問編集履歴

1

現在のできているところ、ソースコードを追記しました。

2015/11/25 14:25

投稿

umi_kappa
umi_kappa

スコア12

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,10 @@
3
3
  ArduinoにESP-WROOM-02をあくまでWi-FiモジュールとしてSoftwareSerialで接続した場合(ESP-WROOM-02にはプログラミングは行わない)、
4
4
 
5
5
  どのようにしたらMilkcocoa Arduino SDKでMilkcocoaとやり取りできるようになるのでしょうか?
6
+
7
+ ###ここまではできました
8
+
9
+ [ESP-WROOM-02とArduino UNOでhttp通信](http://www.mkbtm.jp/?p=644)のサンプルを基にSoftwareSerialでArduino~ESP8266のシリアル通信・サーバー上のPHPから値取得はできています。SoftwareSerialをMilkcocoa Arduino SDKに渡す部分で悩み中です。
6
10
 
7
11
  ###SoftwareSerialからEthernetClientへ置換えられないか
8
12
 
@@ -20,6 +24,154 @@
20
24
 
21
25
  Milkcocoaコンストラクタの第1引数にArduino基本クラスのEthernetClientのインスタンスを渡すとのことなのですが、ArduinoとESP-WROOM-02間はSoftwareSerialでシリアル通信しているので、そこをEthernetClientへ置き換えられればうまくいくのではないかと考えたのですが、解決方法がわからずこちらで質問させていただきました。
22
26
 
27
+ ###ソースコード
28
+
29
+ ほぼ上記の記事のサンプルのままです。それにSoftwareSerialを追記しています。
30
+
31
+ ```Arduino
32
+
33
+ #include "ESP8266.h"
34
+
35
+ #include <SoftwareSerial.h>
36
+
37
+ #include <Milkcocoa.h>
38
+
39
+
40
+
41
+ /************************* WiFi Access Point *********************************/
42
+
43
+
44
+
45
+ #define WLAN_SSID "...SSID..."
46
+
47
+ #define WLAN_PASS "...PASS..."
48
+
49
+
50
+
51
+
52
+
53
+ /************************* Your Milkcocoa Setup *********************************/
54
+
55
+
56
+
57
+ #define MILKCOCOA_APP_ID "...YOUR_MILKCOCOA_APP_ID..."
58
+
59
+ #define MILKCOCOA_DATASTORE "esp8266"
60
+
61
+
62
+
63
+ /************* Milkcocoa Setup (you don't need to change this!) ******************/
64
+
65
+
66
+
67
+ #define MILKCOCOA_SERVERPORT 1883
68
+
69
+
70
+
71
+ /************ Global State (you don't need to change this!) ******************/
72
+
73
+
74
+
75
+ SoftwareSerial mySerial(12, 11); /* RX:12, TX:11 */
76
+
77
+ ESP8266 wifi(mySerial);
78
+
79
+
80
+
81
+ const char MQTT_SERVER[] PROGMEM = MILKCOCOA_APP_ID ".mlkcca.com";
82
+
83
+ const char MQTT_CLIENTID[] PROGMEM = __TIME__ MILKCOCOA_APP_ID;
84
+
85
+
86
+
87
+ Milkcocoa milkcocoa = Milkcocoa(mySerial, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID);
88
+
89
+
90
+
91
+ void setup() {
92
+
93
+ Serial.begin(115200);
94
+
95
+ delay(10);
96
+
97
+
98
+
99
+ Serial.println(F("Milkcocoa SDK demo"));
100
+
101
+
102
+
103
+ /*
104
+
105
+ // Connect to WiFi access point.
106
+
107
+ Serial.println(); Serial.println();
108
+
109
+ Serial.print("Connecting to ");
110
+
111
+ Serial.println(WLAN_SSID);
112
+
113
+
114
+
115
+ WiFi.begin(WLAN_SSID, WLAN_PASS);
116
+
117
+ while (WiFi.status() != WL_CONNECTED) {
118
+
119
+ delay(500);
120
+
121
+ Serial.print(".");
122
+
123
+ }
124
+
125
+ Serial.println();
126
+
127
+
128
+
129
+ Serial.println("WiFi connected");
130
+
131
+ Serial.println("IP address: ");
132
+
133
+ Serial.println(WiFi.localIP());
134
+
135
+ */
136
+
137
+ Serial.println( milkcocoa.on(MILKCOCOA_DATASTORE, "push", onpush) );
138
+
139
+ };
140
+
141
+
142
+
143
+ void loop() {
144
+
145
+ milkcocoa.loop();
146
+
147
+
148
+
149
+ DataElement elem = DataElement();
150
+
151
+ elem.setValue("v", 1);
152
+
153
+
154
+
155
+ milkcocoa.push(MILKCOCOA_DATASTORE, elem);
156
+
157
+ delay(7000);
158
+
159
+ };
160
+
161
+
162
+
163
+ void onpush(DataElement elem) {
164
+
165
+ Serial.println("onpush");
166
+
167
+ Serial.println(elem.getInt("v"));
168
+
169
+ };
170
+
171
+
172
+
173
+ ```
174
+
23
175
  ###Milkcocoaを使いたい!
24
176
 
25
177
  この壁さえ越えられれば、私のような趣味で電子工作をやっている人間でもArduinoからMilkcocoaを使って楽しい電子工作ライフを満喫できると思うので、なんとかして実現したいです。。