diffstorm / wifimifarereader Goto Github PK
View Code? Open in Web Editor NEWWi-Fi featured IoT Mifare Card Reader with improved security and logging features
Wi-Fi featured IoT Mifare Card Reader with improved security and logging features
İnternet bağlıyken UDP lib kullanarak NTP server üzerinden otomatik tarih-saat verisini çekip RTC fonksiyonlarını kullanarak güncelleyen handler yazılması.
WiFi Relay için kutuya uygun PCB çizimi
Footprint seçimi, malzeme temini, yerleşim planı ve LED, klemens noktalarının belirlenmesi.
UDP üzerinden ESP8266 üzerinde
Loglama için verilmiş REST API servis adresine GET metoduyla sabit değişkenler üzerinden loglama yapılması için kullanılacak fonksiyon.
Web Server üzerinden UI ve kontrol paneli geliştirilmesi.
WiFi Reader için kutuya uygun PCB çizimi
Footprint seçimi, malzeme temini, yerleşim planı ve RFID, LED, IR, klemens noktalarının belirlenmesi.
WiFi Access Point ve Station arasında çalışma moduna ve düşük güç moduna bağlı olarak davranışı değişen geçişler yapan bağlantı rutinleri.
AP : Access Point
STA : Station mode
PD : Düşük güç modu
[ ] AP açık seçildiyse her zaman AP açık kal
[ ] Röle tanımlıysa ve röleler ile ağ üzerinden haberleşme seçilmişse STA bağlı kal (PD = 0)
[ ] STA bağlantı koptuysa ve AP kapalıysa ve PD=0 bağlanılabilmek için AP aç.
[ ] PD = 1 ve uyandırma kartı veya buton basıldıysa bir süre AP aç
[ ] STA bağlantı kopmuş ve AP açılmışsa ve AP den bağlı birisi var ise bağlı kaldıkça STA açma
Delaysiz Buzzer kontrol sistemi geliştirilmesi ve test edilmesi.
Web serverdaki bir form üzerinden hex dosyası yükleme şeklinde yazılım güncelleme özelliği.
ESPNow üzerinden gönderilecek ve alınan verilerin işlenmeden önce bufferlanması için linkedlist queue.
Bu kütüphane, dosya sistemi kütüphanesini kullanır.
Bu kütüphane, device config kütüphanesini kullanır.
Aktiviteler minimal hafıza tutacak bir formatta dosya(lar)da tutulur.
İletme zamanı seçeneğine uygun olarak teker teker (non-blocking) gönderim yapılır.
Gönderim için ayrı bir kütüphane kullanılacaktır.
Gönderim yapılabilmesi için öncelikle bağlantı kontrolleri yapılması gerekir.
Her aktivitede, bu kütüphanenin aktivite ekleme fonksiyonlarından biri çağırılır, aktivite eğer izin verilmiş ise loga eklenir ve gönderilmeyi bekler. O aktivite için bir işlem izni yok ise loglama yapılmaz fonksiyondan çıkılır.
Çalışma yapılmayan, eski kalmış branchlerin silinmesini talep ediyorum.
Branchler kısa zamanlı çalışma alanları olarak kullanılır, commitler task bazlı yapılır. Tek task için tek commit yapılır. Genelde birden fazla çözüm içeren commit yapılmamalıdır.
Branchlerdeki çalışma kısa sürede tamamlanıp master'a merge edilip, branch silinmelidir.
Eray abi Card.cpp dosyasındaki Card_getSector fonksiyonuna baktığımda aşağıdaki kısımda yer alan if bloğu ile reader'a gönderilecek data hazırlanıyor.Fakat sector 1 olduğu zaman if 'in içine giremeyecek. Dolayısıyla yazma işi burada başarılı olamıcak gözüküyor.Example fonksiyonunu da incelediğimde sanki sadece sector 0 olduğu zaman kod bloğu çalışacak fakat diğer sektörlerde çalışmayacak gibi gözüküyor ? Eksik mi düşünüyorum acaba?
else
{
index = (sector - 1) * CARD_ROW_SIZE;
if(cardRaw->length < index + CARD_ROW_SIZE)
{
memcpy(p, cardRaw->data + index, CARD_ROW_SIZE);
ret = true;
}
}
Ticker kullanılarak periyodik task zamanlamaları için kontrol rutinleri.
Loop içindeki her handler için bir zamanlayıcı tanımlanacak ve ön tanımlı değerlere göre periyodik olarak zamanlama sinyali (bool getSchedule(sched_WEBServer)) üretecek.
WiFi Relay kutu seçimi.
UDP, ESPNow, Kart ve dosya şifrelemede kullanılacak kripto fonksiyonlarının belirlenmesi ve kütüphane haline getirilmesi.
ESP8266 üzerinde RTC API kısmı kullanılarak tarih-saat set etme, okuma ve RTC raminde bilgi saklamak için fonksiyonlar yazılması.
Handler şeklinde değil, sadece fonksiyon şeklinde kullanılmak üzere.
2 adet ESP8266 arasında ESPNow ile haberleşme rutinlerinin yazılması.
Reader ve Röle arasında Handler olmadan direkt çağırılacak rutinler ile veri gönderme ve alma yapılacak.
Bu kütüphane, gelen/giden verileri Protocol adlı kütüphaneden geçirerek anlamlı hale getirir.
UDP üzerinden gönderilecek ve alınan verilerin işlenmeden önce bufferlanması için linkedlist queue.
WiFi Reader için kutu seçimi.
Card Config struct ve getter setter fonksiyonlarının oluşturulması
Şifreleme ve çözme rutinlerinin eklenmesi
Dosya, struct, kart datasını ve haberleşme bufferlarının boyutunu küçültmek için kullanılacak veri sıkıştırma kütüphanesi geliştirilmesi.
Dosya sistemini kullanarak, izin verilen kart listesini saklayan, kart ekleme, çıkarma ve listede arama işlemleri yapabilen bir kütüphane yapılması.
WiFi Reader şemasındaki donanımların ve donanımsal senaryoların breadboard üzerinde test edilmesi.
WiFi Relay devresinin şemasının tamamlanması.
WiFi Reader Config struct ve getter setter fonksiyonlarının oluşturulması
FS kullanılarak dosyaya kayıt edilmesi, default değerlerin girilmesi ve initde dosyadan okunması
UDP ve ESPNow üzerinde kullanılacak haberleşme protokolü amaçlı veri kodlama ve validasyon fonksiyonlarının yazılması.
Delaysiz LED kontrol sistemi geliştirilmesi ve test edilmesi.
SPIFFS ve LittleFS ile dosya sistemi kütüphanesi yapılması
Init, dosya oluşturma, okuma, değiştirme işlemleri için fonksiyonlar.
Failsafe yapı.
WiFi Relay şemasındaki donanımların ve donanımsal senaryoların breadboard üzerinde test edilmesi.
MFRC522 kodlarının iyileştirilmesi,
Bir url üzerinde periyodik yeni firmware kontrolü ve otomatik güncelleme.
ESP8266 üzerinden mail göndermeye yarayan fonksiyon.
Kayıtlı loglama mailine, loglama periyotlarında mail göndermek amacıyla kullanılacak.
WiFi Reader Şemasının tamamlanması.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.