Symbianize Forum

Most of our features and services are available only to members, so we encourage you to login or register a new account. Registration is free, fast and simple. You only need to provide a valid email. Being a member you'll gain access to all member forums and features, post a message to ask question or provide answer, and share or find resources related to mobile phones, tablets, computers, game consoles, and multimedia.

All that and more, so what are you waiting for, click the register button and join us now! Ito ang website na ginawa ng pinoy para sa pinoy!

arduino mega 2560 piso wifi code on demand

asantos1

Apprentice
Advanced Member
Messages
68
Reaction score
0
Points
26
DELETE nalang po kung bawal Admin,

SANA DI MAKATAY un code,

generates 4 digit user name with blank password according to the amount put in and adds the user to mikrotik default hotspot,

di po ako programmer dahil lang po ito sa ECQ kaya nakagawa,

UPDATED v1


#include <SPI.h>
#include <Wire.h>
#include <Entropy.h>
#include <Ethernet.h>
#include <TelnetClient.h>
#include <LiquidCrystal_I2C.h>

#define randomSeed(s) srandom(s)

unsigned int mins = 0;
unsigned int hours = 0;
unsigned int days = 0;
unsigned int newmins = 0;
unsigned int newhours = 0;
int buttonPress = 0;
int ledState = LOW;
int gate = 0;
int interval = 0;
int start = 0;

const int ledpin = 5;
const int coinpin = 2;
const int buttonpin = 3;
const int disablepin = 4;

volatile int coins = 0;

unsigned long startMillis = 0;
unsigned long currentMillis = 0;
unsigned long previousMillis = 0;

String script;

uint32_t seed_value;

char letters[36] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'};

LiquidCrystal_I2C lcd(0x27, 20, 4);

EthernetClient client;
telnetClient tc(client);

byte clientMAC[] = { 0xAB, 0xBC, 0xCD, 0xDE, 0xEF, 0xFA };
IPAddress clientIp (192, 168, 88, 2);

//put here your router's ip address
IPAddress mikrotikRouterIp (192, 168, 88, 1);


void setup() {

pinMode(buttonpin, INPUT);
pinMode(ledpin, OUTPUT);
pinMode(disablepin, OUTPUT);

lcd.begin();
lcd.backlight();

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("initializing....");
lcd.setCursor(0, 2);
lcd.print(" by asantos1");

delay(3000);

digitalWrite(disablepin, HIGH);

Serial.begin(9600);

while (!Serial) {
;
}

Entropy.initialize();

pinMode(buttonpin, INPUT);
pinMode(ledpin, OUTPUT);
pinMode(disablepin, OUTPUT);

lcd.clear();

attachInterrupt(digitalPinToInterrupt(coinpin), coinInterrupt, RISING);

}
void coinInterrupt() {

coins ++;
startMillis = millis();

}
void blinker() {

unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval) {

previousMillis = currentMillis;

if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}

digitalWrite(ledpin, ledState);
}
}

void loop() {

if (gate == 0) {

digitalWrite(disablepin, LOW);

lcd.setCursor(0, 1);
lcd.print(" Press Button ");
lcd.setCursor(0, 2);
lcd.print(" to Start ");

while (digitalRead(buttonpin) == LOW) {

interval = 1000;
blinker();
}

gate = 1;
coins = 0;

}

if ((gate == 1) && (start == 0)) {

digitalWrite(disablepin, HIGH);
digitalWrite(ledpin, LOW);

lcd.setCursor(0, 1);
lcd.print(" Insert Coin ");
lcd.setCursor(0, 2);
lcd.print(" ");

start = 1;
startMillis = millis();
}

currentMillis = millis();

if ((start == 1) && (coins < 1) && (currentMillis - startMillis >= 15000)) {

gate = 0;
start = 0;

}

if ((start == 1) && (coins > 0) && (currentMillis - startMillis >= 100)) {

// ADJUST RATES HERE
if (coins < 5) {
mins = coins * 10; // 15min/peso
}
if (coins >= 5 && coins < 10) {
mins = coins * 20; // 20min/peso
}
if (coins >= 10 && coins < 15) {
mins = coins * 30; // 30min/peso
}
if (coins >= 15) {
mins = coins * 45; // 45min/peso
}
hours = floor(mins / 60);
days = floor(hours / 24);
newhours = hours - (days * 24);
newmins = mins - (hours * 60);

Serial.println(coins);
Serial.println(days);
Serial.println(newhours);
Serial.println(newmins);

lcd.setCursor(0, 0);
lcd.print(" Credit: ");
lcd.print(coins, 0);
lcd.print(".00 ");

lcd.setCursor(0, 1);
lcd.print(" ");
lcd.print(days);
lcd.print(" day ");
lcd.print(newhours);
lcd.print(" hr ");
lcd.print(newmins);
lcd.print(" min");



}

currentMillis = millis();

if ((coins > 0) && (currentMillis - startMillis >= 10000)) {

lcd.setCursor(0, 2);
lcd.print(" Press Button to");
lcd.setCursor(0, 3);
lcd.print(" Generate Code");

}

currentMillis = millis();

if ((coins > 0) && (currentMillis - startMillis >= 11000)) {

digitalWrite(disablepin, LOW);

while (digitalRead(buttonpin) == LOW) {
interval = 150;
blinker();

}
digitalWrite(ledpin, LOW);

seed_value = Entropy.random();

randomSeed(seed_value);

char c[2] = {letters[random(36)]};
char o[2] = {letters[random(36)]};
char d[2] = {letters[random(36)]};
char e[2] = {letters[random(36)]};

lcd.setCursor(0, 0);
lcd.print(" CODE GENERATED ");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.print(c);
lcd.print(" ");
lcd.print(o);
lcd.print(" ");
lcd.print(d);
lcd.print(" ");
lcd.print(e);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print(" ");

script = "/ip hotspot user add name=";
script += c;
script += o;
script += d;
script += e;
script += " limit-uptime=";
script += mins;
script += "m profile=hotspot";
int script_len = script.length() + 1;
char mscript[script_len];
script.toCharArray(mscript, script_len);

Ethernet.begin (clientMAC);

//want to use dhcp?
if (!Ethernet.begin (clientMAC)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("DCHP error ");
lcd.setCursor(0, 1);
lcd.print(coins);

while (1);

}

tc.setPromptChar('>');

//CHANGE HERE YOUR USERNAME/PASSWORD
if (tc.login(mikrotikRouterIp, "admin", "asantos1")) {

delay(1000);

tc.sendCommand(mscript);

delay(5000);

tc.disconnect();

lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(" ");
lcd.print(c);
lcd.print(" ");
lcd.print(o);
lcd.print(" ");
lcd.print(d);
lcd.print(" ");
lcd.print(e);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print(" ");
lcd.setCursor(0, 3);
lcd.print(" THANK YOU ");

delay(10000);

lcd.clear();
coins = 0;
gate = 0;
start = 0;
}
}
}
sana makatulong sa inyo,

FEEDBACK narin kng umandar sa inyo

salamat
 
Last edited:
Re: arduino mega 2560 piso wifi

tip 1 - dapat may basic knowlwdge ka na sa arduino, i used arduino mega 2560 with 20x4 i2c lcd and ethernet shield, familiarize muna kayo ng arduino, pag ok na, then download and add the libraries kung wala pa, tapos copy paste the code
 
Last edited:
Re: arduino mega 2560 piso wifi

baka may diagram ka nito sir?
 
meron ako pisowifi kit.. dito.. posible bang macopy ko ung code nito at ilagay sa panibagong arduino nawala pang code?
 
meron ako pisowifi kit.. dito.. posible bang macopy ko ung code nito at ilagay sa panibagong arduino nawala pang code?

pwede sa bago o ipalit sa di na ginagamit na arduino, again you may need to change some parameters like the user name and password to match your router, basta sakin i used arduino mega with ethernet shield with rb750gr3 and its working, will post sa youtube para makita nyo umaandar
 
Salamat sir. Kaso di ko pa ma try.. wala pang gamit.. same lang ba to sir nung post mo sa AMPers?
 
yes same, sana wait nyo ako magtapos dun

- - - Updated - - -

Noted Sir. Etong code dito sir complete na to no? Nag simulate muna ako sa tinker kaso meron akong error.. tsaka uno lang yung nandun.. mas okay sana kung meron din 2560..
 
with SD card ba yung shield mo lods ?
saka
pwede kaya to sa existing custom board ?
TIA :)
 
with SD card ba yung shield mo lods ?
saka
pwede kaya to sa existing custom board ?
TIA :)

ethernet shield with sd card slot, but the code does not use the sd card, sa pagkakaalam ko dun sa may sd card pre generated un user codes dun at yun ang binibigay sa customer, un sakin auto generate nya un code at un ang ibibigay nya sa customer with corresponding time limit

kung un custom board nakakabit sa arduino, malamang di mo na need un

di ko sinasabing wag nyo na gamitin un mga meron na custom board, im just sharing my version of CoD
 
Last edited:
ethernet shield with sd card slot, but the code does not use the sd card, sa pagkakaalam ko dun sa may sd card pre generated un user codes dun at yun ang binibigay sa customer, un sakin auto generate nya un code at un ang ibibigay nya sa customer with corresponding time limit

kung un custom board nakakabit sa arduino, malamang di mo na need un

di ko sinasabing wag nyo na gamitin un mga meron na custom board, im just sharing my version of CoD

ah so no need na talaga ng SD card sa code nato ?
nga pala di ko magets tong nasa red box
di ko kase sure kung ayos pa tong E-shild ko ee! matagal na kase saken . hehe

MT ip= 192.169.2.1
tama ba yung nasa red box na nilagay ko ?
 

Attachments

  • codes.jpg
    codes.jpg
    81.4 KB · Views: 124
paano sir kung ung may user profile

meron need baguhin sa code

- - - Updated - - -

ah so no need na talaga ng SD card sa code nato ?
nga pala di ko magets tong nasa red box
di ko kase sure kung ayos pa tong E-shild ko ee! matagal na kase saken . hehe

MT ip= 192.169.2.1
tama ba yung nasa red box na nilagay ko ?

un nsa red box un assigned mac at ip address ng ethernet shield mo, pero pede mo yan baguhin, ingat lng
 
meron need baguhin sa code

- - - Updated - - -



un nsa red box un assigned mac at ip address ng ethernet shield mo, pero pede mo yan baguhin, ingat lng

Cge master . Maraming salamat sa share mong code .
Napaka bait mo .. order nalang ako ng E-shield .para matry ko .. tnx a lot master
God bless
 
Back
Top Bottom