README.md 3.52 KB
Newer Older
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
1
# Mesai Takip Cihazı
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
2
## Kütahya İl Özel İdaresi - Bilgi işlem müdürlüğü
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
3

Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
4

Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
5
Kütahya İl Özel İdaresi olarak geliştirmiş olduğumuz mesai takip cihazı. Yazılımı, devre tasarımı ve (3d yazdırılabilir) kutu tasarımı tamamen bize aittir. Tüm Raspberry Pi sürümleri ile çalışmaktadır. Fakat kutu RP3 için tasarlandığından diğer sürümleri için revizyon gerekir Cihaz kameranın bir özelliği olarak 135 derece oval fotoğraf almaktadır. Ayrıca yine kameranın bir özelliği olarak karanlık ortamlarda da -gece görüşü- fotoğraf alabilmektedir.
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
6

Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
7
13.56 Mhz rfid kart ile uyumludur. Kart okutulduğunda personelin resmini alır, led ışık ve ses ile sinyal verir, sonra belirtilen web servisine geçiş hakkında istek gönderir. Cevap olarak bir geçiş ID 'si ve personel ismini bekler. Istenilir ise kart okutmadan sonra bir turnikeye yada diğer bir donanıma tetikleme yapılabilir.
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
8 9 10 11 12 13 14 15 16 17

Sunucuya ulaşamaz ise offline oalrak çalışabilir. Çekilen fotoğraflar geçiş zaman bilgileri ile birlikte tutulur. Sonra merkezi bilgi sisteminiz ftp bağlantısı ile resimleri alıp dosya sunucunuza taşıyabilir.

Uygulama çalışma esnasında logları cihazin dosya sistemine txt dosyası olarak yazar. Beklenmedik bir hata oluşur ise hem offline logu tutulup hem de bir mesaj kuyruğuna (varsayılan RabbitMQ) log olarak yazılır.

Uyguluma sorunsuz çalıştığı süre zarfında belirli aralıklarla bir Mqtt kuyruğuna sıhhat bilgisini gönderebilir.

Cihazın crontab ile uygun görülen bir zamanda günde bir sefer yeniden başlatılması önerilir.


Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
18 19 20
![Cihaz](./Cihaz.jpg)


Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
21 22 23 24
## Bileşenler
 1. Raspberry Pi (3 önerilir)
 2. Mikro SD kart
 3. Raspberry Pi Camera (Raspberry Pi 3 Model B + Night Vision Camera 5MP Wide Angle 135 Degree Fisheye Lens 1080P Camera Module)
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
25
 4. PCB Devre
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
26 27 28 29 30 31 32
 5. SSD 1306 Oled LCD ekran (128*64)
 6. RFID-RC522 rfid kart okuyucu
 7. Kırmızı ve yeşil kesik baş led
 8. 5V mini usb adaptor
 9. Tek kanal 5v röle kartı (Opsiyonel)
 10. 3D yazdırılmış kutu parçaları
 11. Kaplama için yeteri kadar karbon folyo (Opsiyonel)
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
33 34


Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
35 36
## Kurulum

Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
37 38
1. Image ile kurulum
.img dosyası indirilip micro sd karta "Win32 Disk Imager" yada benzeri bir uygulama ile yazılıp 
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

2. Manuel kurulum
   - Raspbian işletim sistemi sd karta yüklenir ve açılır
   - `sudo raspi-config` ile ayar ekranı açılıp  ssh, camera, i2c ve spi aktifleştirilir
   - Aşağıdaki kurulumlar yapılır.
    ```
    sudo apt-get update
    sudo apt-get upgrade

    sudo apt-get install vsftpd apache2 git  python-spidev  python-dev python-pip python-smbus python-picamera python-netifaces python-imaging python-smbus i2c-tools -y
    
    sudo chmod 777 -R /var/www/html/
    
    git clone https://github.com/lthiery/SPI-Py.git
    cd ~/SPI-Py
    sudo python setup.py install
    
    pip install pika
    pip install paho-mqtt
    
    git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git
    cd Adafruit_Python_SSD1306
    sudo python setup.py install
    ```
   - `sudo crontab -e` ile zamanlanmış görevler açılıp en alta aşağıdaki 3 satır eklenir.
    ```
    @reboot sleep 5 && python /var/www/html/temizle.py &
    @reboot sleep 20 && python /var/www/html/index.py &
    30 22 * * *     /sbin/shutdown -r +1 &
    ```
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
69
   - index.py, MFRC522.py ve temizle.py /var/www/html dizinine kopyalanır.
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
70
   - Font klasöründeki lato.ttf dosyası /var/www/html/font dizinine kopyalanır.
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
71
   - logo.png dosyası /var/www/html/img dizinine kopyalanır.
Ömer SAVAŞ's avatar
Ömer SAVAŞ committed
72
   - Arduino klasorundeki buzzer.ino dosyası Arduino nanoya upload edilir.