Skip to content

Commit 9456853

Browse files
authored
0.5.4へのアップデート
0.5.4へのアップデート
2 parents e13f24b + b2d8aa4 commit 9456853

18 files changed

+178
-120
lines changed

cores/esp32/nefry/Nefry.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ BootMode
2424
1 : WriteMode切替をする
2525
*/
2626

27-
#define LIBVERSION ("0.9.0")
27+
#define LIBVERSION ("0.5.4")
2828
#include "Nefry.h"
2929

3030
Adafruit_NeoPixel _NefryLED[40];
@@ -163,6 +163,19 @@ void Nefry_lib::reset() {
163163
delay(500);
164164
}
165165

166+
void Nefry_lib::deleteWiFi(int id)
167+
{
168+
NefryWiFi.deleteWifi(id);
169+
}
170+
171+
void Nefry_lib::addWiFi(String ssid, String pass)
172+
{
173+
NefryWiFi.addWifi(ssid, pass);
174+
}
175+
void Nefry_lib::saveWiFi() {
176+
NefryWiFi.saveWifi();
177+
}
178+
166179
/* DeepSleep */
167180
void Nefry_lib::sleep(const int sec) {
168181
ESP.deepSleep(sec * 1000 * 1000);

cores/esp32/nefry/Nefry.h

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ class Nefry_lib
4444
reset(),
4545
sleep(const int sec),
4646
setProgramName(const char * pn),
47-
setIndexLink(const char title[32], const char url[32]),
4847
beginLed(const int num, const int pin, uint8_t t),
4948
setLed(const int r, const int g, const int b, const char w = 122, const int pin = 16, const int num = 0),
5049
setLed(String _colorStr, const char w = 122, const int pin = 16, const int num = 0),
50+
addWiFi(String ssid,String pass),
51+
deleteWiFi(int id),
52+
saveWiFi(),
5153
/*
5254
println(float text),
5355
println(double text),
@@ -77,26 +79,16 @@ class Nefry_lib
7779
void disableSW();
7880

7981
bool
80-
readSW(),
81-
autoConnect(),
82-
getConfHtmlPrint(const int num),
83-
setConfValue(const int pt, const int num),
84-
setConfStr(const char *pt, const int num),
85-
login(const char *UserID, const char *User_pass),
86-
Auth(const char *Nefryclass, const char *NefryID),
87-
getWifiAuto(),
88-
push_sw_();
82+
readSW();
8983

9084
void pollingSW();
9185
bool getBootFlg();
92-
char* getConfStr(const int num);
9386

9487

95-
String read(),
88+
String
9689
getVersion(),
9790
getProgramName(),
98-
getAddressStr(IPAddress ip),
99-
getModuleWiFiPass();
91+
getAddressStr(IPAddress ip);
10092

10193

10294
private:

cores/esp32/nefry/NefryWeb.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ String Nefry_Web::beginWeb(String _viwePage) {
9393
NefryDataStore.setBootSelector(1);
9494
return createHtml(F("Nefry Write mode"), "", F("<h1>Nefry Write mode</h1><p>Reset start!</p><a href=\"/\">Back to top</a>"));
9595
}
96+
return "";
9697
}
9798

9899
/*

cores/esp32/nefry/NefryWebServer.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ void Nefry_webserver::run() {
9090
String content;
9191
if (newssid.length() > 0) {
9292
NefryWiFi.addWifi(newssid, newpwd);
93+
NefryWiFi.saveWifi();
9394
content = F("Save SSID:");
9495
content += newssid;
9596
content += F(" Restart to boot into new WiFi");
@@ -102,15 +103,14 @@ void Nefry_webserver::run() {
102103
if (newssid.length() != 0)resetTimer(2);
103104
}
104105
else if (url.equalsIgnoreCase("/delete_wifi")) {
105-
String del = "";
106+
String del = "",ssid;
106107
deleteFlg = false;
107-
for (int i = 0; i < 5; i++) {
108-
String data = arg("" + i);
109-
if (data.equals("1")) {
108+
for (int i = 0; i < _currentArgCount; i++) {
109+
ssid = NefryWiFi.deleteWifi(_currentArgs[i].key.toInt());
110+
if (!ssid.equals("")) {
110111
del += "<li>";
111-
del += NefryDataStore.getConnectSSID(i);
112+
del += ssid;
112113
del += "</li>";
113-
NefryWiFi.deleteWifi(i);
114114
deleteFlg = true;
115115
}
116116
}

cores/esp32/nefry/NefryWiFi.cpp

Lines changed: 66 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/**
1+
/**
22
Nefry lib
33
44
Copyright (c) 2016 wami
@@ -8,29 +8,25 @@ This software is released under the MIT License.
88
*/
99

1010
/*
11-
ConnectSSID : Nefryが接続するWiFiのSSIDを保存するときに使用する。5つまで保存。末端に数字が追加される String型 null文字の時リストに追加しない
12-
ConnectPass : Nefryが接続するWiFiのパスワードを保存するときに使用する。5つまで保存。末端に数字が追加される String型
13-
ConnectWiFi : 接続するWiFiを有効or無効化する
11+
ConnectSSID : Nefryが接続するWiFiのSSIDを保存するときに使用する。5つまで保存。末端に数字が追加される String型 null文字の時リストに追加しない
12+
ConnectPass : Nefryが接続するWiFiのパスワードを保存するときに使用する。5つまで保存。末端に数字が追加される String型
1413
*/
1514

1615
#include "NefryWiFi.h"
17-
Preferences wifiPreferences;
18-
bool wifiEnable[5];
1916

2017
bool initflgWifi = false;
21-
void Nefry_WiFi::begin() {
22-
deleteWifi(0);
18+
void Nefry_WiFi::begin() {
19+
WiFi.persistent(false);
20+
WiFi.mode(WIFI_AP_STA);
2321
wifiMulti = WiFiMulti();
24-
scanWiFi(); //WiFiを検索し、Webページに表示する
25-
setWifiTimeout(0);//無制限で自動接続する
22+
dataCache();
23+
setWifiTimeout(0); //無制限で自動接続する
2624
Serial.println("Saved WiFi List");
2725
Serial.println(getlistWifi());
28-
WiFi.persistent(false);
29-
WiFi.mode(WIFI_AP_STA);
30-
deleteWifi(0);
26+
3127
for (int i = 0; i < 5; i++) {
32-
if (!NefryDataStore.getConnectSSID(i).equals("")) {
33-
wifiMulti.addAP(NefryDataStore.getConnectSSID(i).c_str(), NefryDataStore.getConnectPass(i).c_str());
28+
if (!_nefryssid[i].equals("")) {
29+
wifiMulti.addAP(_nefryssid[i].c_str(), _nefrypwd[i].c_str());
3430
}
3531
}
3632
wifiMulti.addAP("NefryWiFi", "NefryWiFi");
@@ -50,7 +46,7 @@ void Nefry_WiFi::begin() {
5046
delay(100);
5147
loopCounter++;
5248
Serial.print(".");
53-
if (loopCounter >= 30)break;
49+
if (loopCounter >= 6)break;
5450
if (WiFi.status() == WL_CONNECTED)break;
5551
}
5652
if (WiFi.status() == WL_CONNECTED) {
@@ -63,34 +59,34 @@ void Nefry_WiFi::begin() {
6359
else {
6460
Nefry.setLed(200, 0, 0);
6561
}
66-
67-
/* Nefryが発信するWiFiの設定*/
62+
scanWiFi(); //WiFiを検索し、Webページに表示する
63+
/* Nefryが発信するWiFiの設定*/
6864
if ( NefryDataStore.getBootSelector()== 1 || NefryDataStore.getModulePass().length() == 0) {
6965
WiFi.softAP(NefryDataStore.getModuleID().c_str());
7066
Serial.println(F("\nWaiting for WiFi to connect"));
7167
}
7268
else {
7369
WiFi.softAP(NefryDataStore.getModuleID().c_str(), NefryDataStore.getModulePass().c_str());
7470
}
75-
setWifiTimeout(6);//6回目で自動接続をタイムアウトする
71+
setWifiTimeout(6);//6回目で自動接続をタイムアウトする
7672
setWifiTimeoutClear();
7773
delay(1000);
7874
}
7975

8076
uint8_t prevWifiStatus = WL_IDLE_STATUS;
8177
int Nefry_WiFi::run() {
8278
/*
83-
run関数で返す値
79+
run関数で返す値
8480
85-
-1 :不明なエラー
86-
0 :接続済み
87-
1 :自動接続しない
88-
2 :タイムアウト
89-
3 :ネットワークアイドル中
90-
4 :SSID検出できず
91-
5 :検索完了
92-
6 :接続エラー
93-
7 :切断
81+
-1 :不明なエラー
82+
0 :接続済み
83+
1 :自動接続しない
84+
2 :タイムアウト
85+
3 :ネットワークアイドル中
86+
4 :SSID検出できず
87+
5 :検索完了
88+
6 :接続エラー
89+
7 :切断
9490
9591
*/
9692
if (initflgWifi == false)return 1;
@@ -162,11 +158,11 @@ String Nefry_WiFi::beginWeb(String url)
162158
content += network_list;
163159
content += F("</div><div><h1>Saved WiFi List</h1><p>Delete WiFi Select</p><form name=\"myForm\" method='get' action='delete_wifi'>");
164160
for (int i = 0; i < 5; i++) {
165-
if (!NefryDataStore.getConnectSSID(i).equals("")){
161+
if (!_nefryssid[i].equals("")){
166162
content += F("<input type=\"checkbox\" value=\"1\"name=\"");
167163
content += i;
168164
content += F("\">");
169-
content += NefryDataStore.getConnectSSID(i);
165+
content += _nefryssid[i];
170166
content += F("<br>");
171167
}
172168
}
@@ -186,58 +182,63 @@ String Nefry_WiFi::beginWeb(String url)
186182

187183
//WiFi
188184

189-
void Nefry_WiFi::deleteWifi(int id)
185+
String Nefry_WiFi::deleteWifi(int id)
190186
{
191-
if (id < 0 || id >= 5)return;
192-
NefryDataStore.setConnectSSID("",id);
193-
NefryDataStore.setConnectPass("",id);
187+
if (id < 0 || id >= 5)return "";
188+
String ssid = _nefryssid[id];
189+
_nefryssid[id] = "";
190+
_nefrypwd[id]="";
191+
return ssid;
194192
}
195193

196-
void Nefry_WiFi::addWifi(String ssid, String pwd)
194+
void Nefry_WiFi::addWifi(String _ssid, String _pwd)
197195
{
198-
Serial.print("addwifi : ");
199-
Serial.println(ssid);
200196
sortWifi();
201197
for (int i = 0; i < 5; i++) {
202-
if (NefryDataStore.getConnectSSID(i).equals("")) {
203-
NefryDataStore.setConnectSSID(ssid, i);
204-
NefryDataStore.setConnectPass(pwd, i);
198+
if (_nefryssid[i].equals("")) {
199+
_nefryssid[i] = _ssid;
200+
_nefrypwd[i]=_pwd;
205201
return;
206202
}
207203
}
208204
deleteWifi(0);
209205
sortWifi();
210-
NefryDataStore.setConnectSSID(ssid, 4);
211-
NefryDataStore.setConnectPass(pwd, 4);
206+
_nefryssid[4]=_ssid;
207+
_nefrypwd[4]=_pwd;
212208
}
213-
void Nefry_WiFi::sortWifi()
209+
int Nefry_WiFi::sortWifi()
214210
{
215-
for (int i = 0,j = 0; i < 4; i++) {
216-
if (NefryDataStore.getConnectSSID(i).equals("")) {
211+
int i = 0;
212+
for (int j = 0; i < 4; i++) {
213+
if (_nefryssid[i].equals("")) {
217214
for (j = i + 1; j < 5; j++) {
218-
if (!NefryDataStore.getConnectSSID(j).equals("")) {
219-
NefryDataStore.setConnectSSID(NefryDataStore.getConnectSSID(j), i);
220-
NefryDataStore.setConnectPass(NefryDataStore.getConnectPass(j), i);
221-
NefryDataStore.setConnectSSID("", j);
222-
NefryDataStore.setConnectPass("", j);
215+
if (!_nefryssid[j].equals("")) {
216+
_nefryssid[i] = _nefryssid[j];
217+
_nefrypwd[i] = _nefrypwd[j];
218+
deleteWifi(j);
223219
break;
224220
}
225221
}
226-
if (j == 5)return;
222+
if (j == 5)break;
227223
}
228224
}
225+
return i;
229226
}
230227
void Nefry_WiFi::saveWifi() {
231228
sortWifi();
229+
for (int i = 0; i < 5; i++) {
230+
NefryDataStore.setConnectSSID(_nefryssid[i],i);
231+
NefryDataStore.setConnectPass(_nefrypwd[i],i);
232+
}
232233
}
233234
String Nefry_WiFi::getlistWifi() {
234235
String lisWifi = "";
235236
for (int i = 0; i < 5; i++) {
236-
if (!NefryDataStore.getConnectSSID(i).equals("")) {
237+
if (!_nefryssid[i].equals("")) {
237238
lisWifi += "ID : ";
238239
lisWifi += i;
239240
lisWifi += " SSID : ";
240-
lisWifi += NefryDataStore.getConnectSSID(i);
241+
lisWifi += _nefryssid[i];
241242
lisWifi += "\n";
242243
}
243244
}
@@ -248,7 +249,7 @@ void Nefry_WiFi::scanWiFi(void) {
248249
int founds = WiFi.scanNetworks();
249250
Serial.println();
250251
Serial.println(F("scan done"));
251-
if (founds == 0) {
252+
if (founds <= 0) {
252253
Serial.println(F("no networks found"));
253254
}
254255
else {
@@ -279,7 +280,15 @@ void Nefry_WiFi::scanWiFi(void) {
279280
network_list += F("</datalist>");
280281
}
281282
}
282-
/* 文字置換 */
283+
void Nefry_WiFi::dataCache()
284+
{
285+
for (int i = 0; i < 5; i++) {
286+
_nefryssid[i] = NefryDataStore.getConnectSSID(i);
287+
_nefrypwd[i] = NefryDataStore.getConnectPass(i);
288+
}
289+
290+
}
291+
/* 文字置換 */
283292
String Nefry_WiFi::escapeParameter(String param) {
284293
param.replace("+", " ");
285294
param.replace("%21", "!");
@@ -313,7 +322,7 @@ String Nefry_WiFi::escapeParameter(String param) {
313322
return param;
314323
}
315324

316-
/* WiFiのタイムアウトの秒数を設定します。 */
325+
/* WiFiのタイムアウトの秒数を設定します。 */
317326

318327
int Nefry_WiFi::getWifiTimeout()
319328
{

cores/esp32/nefry/NefryWiFi.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ class Nefry_WiFi
1313
void
1414
begin(),
1515
addWifi(String ssid, String pwd),
16-
deleteWifi(int id),
1716
setWifiTimeout(int count),
1817
setWifiTimeoutClear(),
1918
saveWifi();
@@ -23,21 +22,24 @@ class Nefry_WiFi
2322
getWifiTimeout();
2423

2524
String beginWeb(String s),
25+
deleteWifi(int id),
2626
getlistWifi();
2727

2828

2929

3030
private:
31+
3132
WiFiMulti wifiMulti;
3233
String network_html, network_list;
3334
void
3435
scanWiFi(),
35-
sortWifi();
36-
36+
dataCache();
37+
3738
String escapeParameter(String param),
38-
ssidweb, pwdweb;
39+
_nefryssid[5], _nefrypwd[5];
3940

4041
int
42+
sortWifi(),
4143
_WifiTimeOutCountMax,
4244
_WifiTimeOutCount = 0;
4345
};

cores/esp32/nefry/inc/WiFi/src/WiFiClient.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include <errno.h>
2424

2525
#define WIFI_CLIENT_MAX_WRITE_RETRY (10)
26-
#define WIFI_CLIENT_SELECT_TIMEOUT_US (100000)
26+
#define WIFI_CLIENT_SELECT_TIMEOUT_US (1000000)
2727
#define WIFI_CLIENT_FLUSH_BUFFER_SIZE (1024)
2828

2929
#undef connect

0 commit comments

Comments
 (0)