Giter VIP home page Giter VIP logo

wifimifarereader's People

Contributors

cihan1389 avatar cyasav avatar diffstorm avatar oguzhanalkis avatar

Watchers

 avatar  avatar  avatar  avatar

wifimifarereader's Issues

NTP Client : Oğuzhan

İ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 PCB : Caner

WiFi Relay için kutuya uygun PCB çizimi

Footprint seçimi, malzeme temini, yerleşim planı ve LED, klemens noktalarının belirlenmesi.

UDP Server : Oğuzhan

UDP üzerinden ESP8266 üzerinde

  • bağlantı kabul edip veri alan
  • bağlantı açıp veri gönderen
  • broadcast discovery yapan
    handler geliştirilmesi.
  • aynı anda birden fazla bağlantı kabul edebilen
  • Handler gelen verileri alıp, bir struct doldurup, parser için hazır hale getirecek.
  • Gönderme tek fonksiyon olacak (structı alır yollar)
    Bu kütüphane, gelen/giden verileri Protocol adlı kütüphaneden geçirerek anlamlı hale getirir.

REST API Push : Cihan

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 : Eray

Web Server üzerinden UI ve kontrol paneli geliştirilmesi.

  • Şifreli giriş
  • Ayarlar
  • Cihaz
    • Bilgiler
    • Kullanıcı
    • Geçiş tipi
    • Düşük güç modu
    • Yazılım güncelleme
  • WiFi
    • İnternet WiFi
    • AP WiFi
    • Çalışma modu
  • Röle tanımları
  • Kısıtlamalar
  • Loglama
    • İletme zamanı
    • İletme metodu
    • İzinler
  • Export
  • Import
  • Kart işlemleri
    • Ekle
    • Listele
    • Sil
    • Düzenle
    • Export
    • Import

WiFi Reader PCB : Caner

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 Connectivity : Eray

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

Buzzer : Oğuzhan

Delaysiz Buzzer kontrol sistemi geliştirilmesi ve test edilmesi.

Logging System : Cihan

Aktivite loglama sistemi yazılması.

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.

Aktiviteler:

  • Giriş/Çıkış (kart bilgileri, isim soyisim vb)
  • Yetkisiz giriş denemesi (kart bilgileri, isim soyisim vb)
  • Yeni kart tanimlaması (kart bilgileri, isim soyisim vb)
  • Kart silmeleri (kart bilgileri, isim soyisim vb)
  • Engellemeler (whitelistten bir kişiye ait kartın çıkarılması) (id, isim soyisim)
  • Config admin islemleri (text şeklinde loglar - "ip değiştirildi, şifre değiştirildi, zaman değiştirildi")

Loglama Özellikleri

  • İletme zamanı :
    • Belirli saatlerde ilet
      • Loglama saatleri (5 adet)
    • Logu aninda ilet
    • Hafiza dolunca ilet
  • Loglama metodu :
    • mail
    • rest api (GET)
    • database insert
      • ip/addr, user, pwd
    • tcp ip address port
    • kendi ucretli platformumuz
      • user, pwd yada token
  • Yetkisiz girisler loglansin mi?
  • Yeni kart tanimlamalari loglansin mi?
  • Kart silmeleri loglansin mi?
  • Engellemeler loglansin mi?
  • Config admin islemleri loglansin mi?

Pasif branchlerin silinmesi

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

card.cpp

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;
}
}

Scheduler : Eray

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.

Crypto Lib : Caner

UDP, ESPNow, Kart ve dosya şifrelemede kullanılacak kripto fonksiyonlarının belirlenmesi ve kütüphane haline getirilmesi.

  • 3DES Kart ve dosya şifreleme
  • AES128 ile haberleşme verisi şifreleme
  • CRC32 ile kart ve veri checksum

RTC : Cihan

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.

ESPNow Implementation : Caner

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.

WiFi Reader Box : Caner

WiFi Reader için kutu seçimi.

  • Zengin gösteren bir kutu,
  • Besleme klemensi güzel bir yerden çıkarılabilsin,
  • Tüm devre zorlanmadan sığabilsin,
  • MFRC522 modül ve ESP8266 devresi üst üste sığabilecek yükseklikte olsun,
  • Ledlerin görüneceği delikler için yer olsun,
  • IR için bir alan olabilirse güzel olur,
  • PCB yerleşimi kolay olsun - mesela vida olmadan takılabilen birşey şık olabilir.
  • Ucuz olsun

Card Config : Eray

Card Config struct ve getter setter fonksiyonlarının oluşturulması
Şifreleme ve çözme rutinlerinin eklenmesi

Compress API : Eray

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.

WhiteList Task : Oğuzhan

Dosya sistemini kullanarak, izin verilen kart listesini saklayan, kart ekleme, çıkarma ve listede arama işlemleri yapabilen bir kütüphane yapılması.

Dikkat edilmesi gerekenler:

  • Tüm kartların tek dosyada mı çok dosyada mı tutulacağına karar verilmesi,
  • Card HW ID ile arama yapılabilmesi
  • İsim Soyisim ile arama yapılabilmesi
  • Minimum flash hafızası kullanımı
  • Minimum ram kullanımı
  • Hızlı arama

Hedef:

  • 250 adet kart kaydedilebilmesi

WiFi Relay Schematic Task : Oğuzhan

WiFi Relay devresinin şemasının tamamlanması.

  • Exit button (resistor protected)
  • 12V Generic Relay
  • Buzzer
  • RF Transceiver
  • Power supply circuit
  • ESP8266
  • Programming socket
  • Wiring terminals (klemensler)

WiFi Reader Config : Eray

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ı

Communication Protocol : Eray

UDP ve ESPNow üzerinde kullanılacak haberleşme protokolü amaçlı veri kodlama ve validasyon fonksiyonlarının yazılması.

Led : Cihan

Delaysiz LED kontrol sistemi geliştirilmesi ve test edilmesi.

FS Task : Oğuzhan

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

MFRC522 Improvement : Cihan

MFRC522 kodlarının iyileştirilmesi,

  • Debug loglarının iyileştirilmesi
  • İş lojiğinin iyileştirilmesi
  • Süre optimizasyonu
  • Kart Okuma (otomatik sıralı)
  • Kart Yazma (otomatik sıralı)
  • Kart Silme (otomatik sıralı)
  • Kart key değiştirme

Mail Sender : Cihan

ESP8266 üzerinden mail göndermeye yarayan fonksiyon.

Kayıtlı loglama mailine, loglama periyotlarında mail göndermek amacıyla kullanılacak.

WiFi Reader Schematic Task : Caner

WiFi Reader Şemasının tamamlanması.

  • MFRC522
  • IR obstacle detection
  • Buzzer
  • LEDs
  • ESP8266
  • Regulator
  • Programming socket
  • Power wiring terminal (klemens)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.