Arduino Polska Forum

Pełna wersja: Serwer DHCP - adresacja
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Cześć,

Próbuję zmusić ESP8266 do bycia Access Pointem i rozdawania adresów DHCP w taki sposób jak sobie wymyśliłem. A wymysliłem sobie, że:
a) adresy będą rozadwane od 10.0.0.1 do 10.0.0.9
b) adres ESP czyli Access Pointa to 10.0.0.10.

O ile zmuszenie ESP do działania w trybie AP jest proste, to zmuszenie do rozdawania adresów IP w taki sposób jak ja tego chce już takie proste nie jest. Kod który wymyśliłem działa w setupie:


Kod:
#include <ESP8266WiFi.h>

#define led_wifi 2 

const char* ssid     = "**********"; //nazwa sieci WiFi
const char* password = "**********"; //hasło do sieci

int status = WL_IDLE_STATUS;

void setup()
{
 IPAddress ip(10, 0, 0, 10);
 IPAddress gateway(10, 0, 0, 10);
 IPAddress subnet(255, 255, 255, 248);
 WiFi.softAPConfig(ip, gateway, subnet);
 WiFi.mode(WIFI_AP);
 WiFi.softAP(ssid, password);
 Serial.begin(9600);
 Serial.setTimeout(0);
 delay(100);
}


Pomocy. Jak zmusić ESP, żeby rozdawał adresy tak jak ja tego chcę.
Jesteś pewien, że dobrze policzyłeś zakres adresów? Przy masce 255.255.255.248 zostają Ci tylko trzy bity na adresy IP, co daje zakresy: 0-7, 8-15, 16-23 itd. Jeśli odjąć od tego adresy rozgłoszeniowe i sieci, zostaną Ci zakresy 1-6, 9-14, 17-22 itd. Jeśli chcesz bawić się tak, jak napisałeś, rozszerz zakres adresów IP (ogranicz ilość bitów w masce podsieci dla adresów sieci). Maska 255.255.255.240 rozwiąże problem adresacji, bo wtedy będziesz miał cztery bity na adresy IP, co da CI zakresy: 0-15, 16-31, 32-47, a czyli na hosty odpowiednio 1-14, 17-30, 33-46, i tak dalej.