Arduino Polska Forum
Serwer DHCP - adresacja - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Sieciowe Protokoły i Urządzenia (https://forum.arduinopolska.pl/dzial-sieciowe-protoko%C5%82y-i-urz%C4%85dzenia)
+--- Wątek: Serwer DHCP - adresacja (/watek-serwer-dhcp-adresacja)



Serwer DHCP - adresacja - yugodriver - 08-10-2017

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ę.


RE: Serwer DHCP - adresacja - krn78 - 20-10-2017

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.