विषयसूची:

छोटी दुकानों के लिए ट्रैक और ट्रेस: 9 कदम (चित्रों के साथ)
छोटी दुकानों के लिए ट्रैक और ट्रेस: 9 कदम (चित्रों के साथ)

वीडियो: छोटी दुकानों के लिए ट्रैक और ट्रेस: 9 कदम (चित्रों के साथ)

वीडियो: छोटी दुकानों के लिए ट्रैक और ट्रेस: 9 कदम (चित्रों के साथ)
वीडियो: Moving Train से बच्चा लिए उतरी महिला के साथ 'चमत्कार'। Munger। Jamalpur Railway Station। CCTV Video 2024, नवंबर
Anonim
छोटी दुकानों के लिए ट्रैक एंड ट्रेस
छोटी दुकानों के लिए ट्रैक एंड ट्रेस

यह एक ऐसी प्रणाली है जो छोटी दुकानों के लिए बनाई गई है, जिन्हें छोटी दूरी की डिलीवरी के लिए ई-बाइक या ई-स्कूटर पर लगाया जाना चाहिए, उदाहरण के लिए एक बेकरी जो पेस्ट्री वितरित करना चाहती है।

ट्रैक एंड ट्रेस का क्या मतलब है?

ट्रैक एंड ट्रेस परिवहन के दौरान पार्सल या वस्तुओं की आवाजाही को रिकॉर्ड करने के लिए वाहक या कूरियर कंपनियों द्वारा उपयोग की जाने वाली प्रणाली है। प्रत्येक प्रसंस्करण स्थान पर, माल की पहचान की जाती है और केंद्रीय प्रसंस्करण प्रणाली के लिए डेटा रिले किया जाता है। इसके बाद इस डेटा का उपयोग शिपर्स को माल के स्थान की स्थिति/अद्यतन देने के लिए किया जाता है।

हम जो सिस्टम बनाएंगे, उसमें लिया गया मार्ग और प्राप्त झटके और धक्कों की मात्रा भी दिखाई देगी। यह निर्देश यह भी मानता है कि आपको रास्पबेरी पाई, पायथन और माइस्क्ल का बुनियादी ज्ञान है।

नोट: यह एक स्कूल परियोजना के लिए बनाया गया था, इस प्रकार समय की कमी के कारण इसमें सुधार की बहुत गुंजाइश है

आपूर्ति

-रास्पबेरी पाई 4 मॉडल बी

-रास्पबेरी पीआई टी-मोची

-4x 3, 7V ली-आयन बैटरी

-2x डबल बैटरी धारक

-डीसी बक स्टेप-डाउन कन्वर्टर 5v

-2x बड़ा नारंगी एलईडी

-ऑन / ऑफ / ऑन स्विच

बटन

-एडफ्रूट अल्टीमेट जीपीएस v3

-एमपीयू6050

-16x2 एलसीडी डिस्प्ले

-सर्वो मोटर

चरण 1: सर्किट को शक्ति देना और पाई

सर्किट और पाई को शक्ति देना
सर्किट और पाई को शक्ति देना
सर्किट और पाई को शक्ति देना
सर्किट और पाई को शक्ति देना

जब बैटरी के साथ सर्किट पाई को पावर देने की बात आती है तो आपके पास इसे करने के तरीके के बारे में कुछ विकल्प होते हैं।

आप पावरबैंक का उपयोग कर सकते हैं और यूएसबी के माध्यम से पीआई को पावर कर सकते हैं, हो सकता है कि आप डिवाइस को ई-बाइक या ई-स्कूटर पर माउंट कर रहे हों जिसमें यूएसबी पोर्ट हो, शायद आपके पास 5 वी फोन की बैटरी इस्तेमाल होने की प्रतीक्षा में पड़ी हो या आप 2 का उपयोग कर सकें चित्रों में दिखाए गए स्टेप डाउन कन्वर्टर के साथ समानांतर में 3.7V बैटरी के सेट

कुछ भी तब तक ठीक है जब तक वह निरंतर 5V प्रदान कर सकता है और आपके पास जीवन भर खुश रहता है।

चरण 2: MPU6050

एमपीयू6050
एमपीयू6050

परिचयMPU6050 सेंसर मॉड्यूल एक एकीकृत 6-अक्ष मोशन ट्रैकिंग डिवाइस है।

  • इसमें एक 3-अक्ष गायरोस्कोप, 3-अक्ष एक्सेलेरोमीटर, डिजिटल मोशन प्रोसेसर और एक तापमान सेंसर है, सभी एक ही आईसी में हैं।
  • I2C संचार का उपयोग करते हुए कुछ रजिस्टरों के पते से मूल्यों को पढ़कर विभिन्न मापदंडों को पाया जा सकता है। X, Y और Z अक्षों के साथ Gyroscope और accelerometer रीडिंग 2 के पूरक रूप में उपलब्ध हैं।
  • जाइरोस्कोप रीडिंग डिग्री प्रति सेकंड (डीपीएस) इकाई में हैं; एक्सेलेरोमीटर रीडिंग जी यूनिट में हैं।

I2C. को सक्षम करना

रास्पबेरी पाई के साथ MPU6050 का उपयोग करते समय, हमें यह सुनिश्चित करना चाहिए कि रास्पबेरी पाई पर I2C प्रोटोकॉल चालू है। ऐसा करने के लिए पुट्टी या अन्य सॉफ़्टवेयर के माध्यम से पाई का टर्मिनल खोलें और निम्न कार्य करें:

  1. "सुडो रास्पि-कॉन्फ़िगरेशन" टाइप करें
  2. इंटरफेसिंग कॉन्फ़िगरेशन का चयन करें
  3. इंटरफेसिंग विकल्प में, "I2C" चुनें
  4. I2C कॉन्फ़िगरेशन सक्षम करें
  5. रीबूट करने के लिए कहने पर हाँ चुनें।

अब, हम i2c टूल इंस्टॉल करके अपने रास्पबेरी पाई बोर्ड से जुड़े किसी भी I2C डिवाइस का परीक्षण/स्कैन कर सकते हैं। हम उपयुक्त पैकेज मैनेजर का उपयोग करके i2c टूल प्राप्त कर सकते हैं। रास्पबेरी पाई टर्मिनल में निम्नलिखित कमांड का उपयोग करें।

"sudo apt-get install -y i2c-tools"

अब किसी भी I2C आधारित डिवाइस को यूजर-मोड पोर्ट से कनेक्ट करें और निम्न कमांड का उपयोग करके उस पोर्ट को स्कैन करें, "सुडो i2cdetect -y 1"

फिर यह डिवाइस के पते के साथ प्रतिक्रिया देगा।

यदि कोई पता नहीं लौटाया जाता है तो सुनिश्चित करें कि MPU6050 ठीक से जुड़ा हुआ है और पुनः प्रयास करें

इसे काम करना

अब जब हमें यकीन है कि i2c सक्षम है और pi MPU6050 तक पहुंच सकता है तो हम "sudo pip3 install adafruit-circuitpython-mpu6050" कमांड का उपयोग करके एक लाइब्रेरी स्थापित करने जा रहे हैं।

अगर हम एक पायथन परीक्षण फ़ाइल बनाते हैं और निम्नलिखित कोड का उपयोग करते हैं तो हम देख सकते हैं कि यह काम कर रहा है या नहीं:

आयात समय

आयात बोर्ड

आयात व्यस्त

oimport adafruit_mpu6050

i2c = Busio. I2C (बोर्ड। एससीएल, बोर्ड। एसडीए)

एमपीयू = adafruit_mpu6050. MPU6050 (i2c)

जबकि सच:

प्रिंट ("एक्सेलेरेशन: X:%.2f, Y: %.2f, Z:%.2f m/s^2"% (mpu.acceleration))

प्रिंट ("गायरो एक्स:%.2 एफ, वाई:%.2 एफ, जेड:%.2 एफ डिग्री / एस"% (mpu.gyro))

प्रिंट ("तापमान:%.2f सी"% एमपीयू। तापमान)

प्रिंट ("")

समय सो जाओ(1)

जब हम अब एक्स/वाई/जेड-अक्ष में त्वरण चाहते हैं तो हम निम्नलिखित का उपयोग कर सकते हैं:

accelX = mpu.acceleration[0]accelY = mpu.acceleration[1] accelZ = mpu.acceleration[2]

इसे एक साधारण if स्टेटमेंट के साथ एक निरंतर लूप में जोड़कर हम एक यात्रा पर झटके की मात्रा की गणना कर सकते हैं

चरण 3: एडफ्रूट अल्टीमेट ब्रेकआउट जीपीएस

एडफ्रूट अल्टीमेट ब्रेकआउट जीपीएस
एडफ्रूट अल्टीमेट ब्रेकआउट जीपीएस

परिचय

ब्रेकआउट MTK3339 चिपसेट के आसपास बनाया गया है, एक गैर-बकवास, उच्च-गुणवत्ता वाला GPS मॉड्यूल जो 66 चैनलों पर 22 उपग्रहों को ट्रैक कर सकता है, इसमें एक उत्कृष्ट उच्च-संवेदनशीलता रिसीवर (-165 dB ट्रैकिंग!), और एक निर्मित एंटीना है।. यह हाई स्पीड, हाई सेंसिटिव लॉगिंग या ट्रैकिंग के लिए एक सेकंड में 10 लोकेशन अपडेट कर सकता है। बिजली का उपयोग अविश्वसनीय रूप से कम है, नेविगेशन के दौरान केवल 20 एमए।

बोर्ड के साथ आता है: एक अल्ट्रा-लो ड्रॉपआउट 3.3V नियामक ताकि आप इसे 3.3-5VDC के साथ, 5V स्तर के सुरक्षित इनपुट के साथ पावर कर सकें, एलईडी लगभग 1Hz पर झपकाता है, जबकि यह उपग्रहों की खोज कर रहा है और एक फिक्स होने पर हर 15 सेकंड में एक बार ब्लिंक करता है। शक्ति बचाने के लिए पाया गया।

आर्डिनो के साथ जीपीएस का परीक्षण

यदि आपके पास एक arduino का उपयोग है, तो इसके साथ मॉड्यूल का परीक्षण करना एक अच्छा विचार है।

VIN को +5V से कनेक्ट करें GND को ग्राउंडकनेक्ट GPS RX (GPS में डेटा) से Digital 0 Connect GPS TX (GPS से डेटा) को Digital 1 से कनेक्ट करें

बस एक खाली arduino कोड चलाएं और 9600 बॉड पर सीरियल मॉनिटर खोलें। यदि आपको जीपीएस डेटा मिलता है तो आपका जीपीएस मॉड्यूल काम करता है। नोट: यदि आपके मॉड्यूल को ठीक नहीं मिलता है तो इसे खिड़की से बाहर या छत पर बाहर रखने का प्रयास करें।

इसे काम करना

"sudo pip3 install adafruit-circuitpython-gps" कमांड का उपयोग करके एडफ्रूट जीपीएस लाइब्रेरी स्थापित करने की शुरुआत करें।

अब हम निम्नलिखित पायथन कोड का उपयोग करके देख सकते हैं कि क्या हम इसे काम कर सकते हैं:

इंपोर्ट टाइमइम्पोर्ट बोर्ड इंपोर्ट बसियोइम्पोर्ट adafruit_gpsimport सीरियल uart = सीरियल। सीरियल ("/ dev / ttyS0", बॉड्रेट = 9600, टाइमआउट = 10)

जीपीएस = adafruit_gps. GPS(uart, debug=False)gps.send_command(b'PMTK314, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0')gps.send_command(b'PMTK220, 1000')

जबकि सच:

gps.update() जबकि gps.has_fix नहीं:

प्रिंट (gps.nmea_sentence) प्रिंट ('फिक्स की प्रतीक्षा कर रहा है…')gps.update()time.sleep(1)जारी रखें

प्रिंट ('=' * 40) # सेपरेटर लाइन प्रिंट करें। (gps.longitude))प्रिंट ("गुणवत्ता ठीक करें: {}"। प्रारूप (gps.fix_quality))

# अक्षांश, देशांतर और टाइमस्टैम्प से परे कुछ विशेषताएँ वैकल्पिक हैं# और शायद मौजूद न हों। जांचें कि क्या वे उपयोग करने का प्रयास करने से पहले कोई नहीं हैं! अगर gps.satellites कोई नहीं है:

प्रिंट ("# उपग्रह: {}"। प्रारूप (gps.satellites))

अगर gps.altitude_m कोई नहीं है:

प्रिंट ("ऊंचाई: {} मीटर"। प्रारूप (gps.altitude_m))

अगर gps.speed_knots कोई नहीं है:

प्रिंट ("गति: {} समुद्री मील"। प्रारूप (gps.speed_knots))

अगर gps.track_angle_deg कोई नहीं है:

प्रिंट ("ट्रैक कोण: {} डिग्री"। प्रारूप (gps.track_angle_deg))

अगर gps.horizontal_dilution कोई नहीं है:

प्रिंट ("क्षैतिज कमजोर पड़ने: {}"। प्रारूप (gps.horizontal_dilution))

अगर gps.height_geoid कोई नहीं है:

प्रिंट ("ऊंचाई भू आईडी: {} मीटर"। प्रारूप (gps.height_geoid))

समय सो जाओ(1)

चरण 4: 16x2 एलसीडी

16x2 एलसीडी
16x2 एलसीडी

परिचय

एलसीडी मॉड्यूल आमतौर पर अधिकांश एम्बेडेड परियोजनाओं में उपयोग किए जाते हैं, इसका कारण इसकी सस्ती कीमत, उपलब्धता और प्रोग्रामर के अनुकूल होना है। हम में से अधिकांश लोगों ने अपने दैनिक जीवन में इन डिस्प्ले को पीसीओ या कैलकुलेटर पर देखा होगा। 16×2 एलसीडी का नाम इसलिए रखा गया है; इसमें 16 कॉलम और 2 रो हैं। बहुत सारे संयोजन उपलब्ध हैं जैसे, 8×1, 8×2, 10×2, 16×1, आदि। लेकिन सबसे अधिक इस्तेमाल किया जाने वाला 16×2 एलसीडी है। तो, इसमें (16×2=32) कुल 32 वर्ण होंगे और प्रत्येक वर्ण 5×8 पिक्सेल डॉट्स से बना होगा।

smbus स्थापित करना

सिस्टम मैनेजमेंट बस (SMBus) कमोबेश I2C बस का व्युत्पन्न है। मानक इंटेल द्वारा विकसित किया गया है और अब एसबीएस फोरम द्वारा बनाए रखा गया है। एसएमबीस का मुख्य अनुप्रयोग पीसी मदरबोर्ड और एम्बेडेड सिस्टम में महत्वपूर्ण पैरामीटर की निगरानी करना है। उदाहरण के लिए एसएमबीस इंटरफेस के साथ बहुत सारे आपूर्ति वोल्टेज मॉनिटर, तापमान मॉनीटर, और प्रशंसक मॉनीटर/नियंत्रण आईसी उपलब्ध हैं।

जिस पुस्तकालय का हम उपयोग करेंगे, उसके लिए smbus को भी स्थापित करने की आवश्यकता है। rpi पर smbus को स्थापित करने के लिए "sudo apt install python3-smbus" कमांड का उपयोग करें।

इसे काम करना

सबसे पहले RPLCD लाइब्रेरी को "sudo pip3 install RPLCD" कमांड का उपयोग करके इंस्टॉल करें।

अब हम निम्नलिखित कोड का उपयोग करके आईपी प्रदर्शित करके एलसीडी का परीक्षण करते हैं:

RPLCD.i2c से आयात CharLCDimport सॉकेट

def get_ip_address ():

ip_address = '' s = सॉकेट.सॉकेट (सॉकेट. AF_INET, सॉकेट. SOCK_DGRAM) s.connect (("8.8.8.8", 80))

एलसीडी = चारएलसीडी ('पीसीएफ 8574', 0x27)

LCD.write_string ('आईपी पता:\r\n'+str(get_ip_address ()))

चरण 5: सर्वो, एलईडी, बटन और स्विच

सर्वो, एलईडी, बटन और स्विच
सर्वो, एलईडी, बटन और स्विच

परिचय

एक सर्वो मोटर एक रोटरी एक्ट्यूएटर या मोटर है जो कोणीय स्थिति, त्वरण और वेग के संदर्भ में सटीक नियंत्रण की अनुमति देता है, क्षमताएं जो एक नियमित मोटर में नहीं होती हैं। यह एक नियमित मोटर का उपयोग करता है और स्थिति प्रतिक्रिया के लिए इसे सेंसर के साथ जोड़ता है। नियंत्रक सर्वो मोटर का सबसे परिष्कृत हिस्सा है, क्योंकि इसे विशेष रूप से इस उद्देश्य के लिए डिज़ाइन किया गया है।

प्रकाश उत्सर्जक डायोड के लिए एलईडी छोटा। एक इलेक्ट्रॉनिक अर्धचालक उपकरण जो विद्युत प्रवाह के गुजरने पर प्रकाश का उत्सर्जन करता है। वे गरमागरम बल्बों की तुलना में काफी अधिक कुशल हैं, और शायद ही कभी जलते हैं। एल ई डी का उपयोग कई अनुप्रयोगों में किया जाता है जैसे कि फ्लैट स्क्रीन वीडियो डिस्प्ले, और प्रकाश के सामान्य स्रोतों के रूप में तेजी से बढ़ रहा है।

किसी मशीन या प्रक्रिया के कुछ पहलू को नियंत्रित करने के लिए एक पुश-बटन या बस बटन एक साधारण स्विच तंत्र है। बटन आमतौर पर कठोर सामग्री से बने होते हैं, आमतौर पर प्लास्टिक या धातु।

एक ऑन/ऑफ/ऑन स्विच में 3 स्थितियां होती हैं, जहां बीच वाला ऑफ स्टेट होता है, इन प्रकारों का उपयोग ज्यादातर साधारण मोटर नियंत्रण के लिए किया जाता है, जहां आपके पास फॉरवर्ड, ऑफ और रिवर्स स्टेट होता है।

इसे काम करना: सर्वो

सर्वो PWM सिग्नल का उपयोग यह निर्धारित करने के लिए करता है कि हमारे लिए सौभाग्य से किस कोण की आवश्यकता है GPIO में यह सुविधा अंतर्निहित है। इसलिए हम सर्वो को नियंत्रित करने के लिए बस निम्नलिखित कोड का उपयोग कर सकते हैं: GPIO आयात समय के रूप में RPi. GPIO आयात करें

सर्वो_पिन = १८ कर्तव्य_चक्र = ७.५

GPIO.सेटमोड (GPIO. BCM)

GPIO.setup(servo_pin, GPIO. OUT)

pwm_servo = GPIO. PWM(servo_pin, 50) pwm_servo.start(duty_cycle)

जबकि सच:

ड्यूटी_साइकिल = फ्लोट (इनपुट ("ड्यूटी साइकिल दर्ज करें (बाएं = 5 से दाएं = 10):")) pwm_servo. ChangeDutyCycle (ड्यूटी_साइकिल)

इसे काम करना: एलईडी और स्विच

जिस तरह से हमने एलईडी और स्विच को तार दिया है, हमें एलईडी को नियंत्रित करने या पढ़ने और खुद को स्विच करने की आवश्यकता नहीं है। हम बस बटन को दाल भेजते हैं चुड़ैल बदले में सिग्नल को उस नेतृत्व में भेज देगा जो हम चाहते हैं।

इसे काम करना: बटन

बटन के लिए हम इस तरह से अपना खुद का सरल वर्ग बनाएंगे, हम आसानी से देख सकते हैं कि जब हम इसका उपयोग करते हैं तो हर बार जब हम इसका उपयोग करते हैं तो इसे बिना किसी ईवेंट का पता लगाए दबाया जाता है। हम निम्नलिखित कोड का उपयोग करके फ़ाइल classbutton.py बनाएंगे:

आरपीआई आयात GPIOclass बटन से:

def _init_(सेल्फ, पिन, बाउंसटाइम = 200): सेल्फ.पिन = पिन सेल्फ बाउंसटाइम = बाउंसटाइम GPIO.setmode(GPIO. BCM) GPIO.setup(pin, GPIO. IN, GPIO. PUD_UP)@property def pressed(self):

ingedrukt = GPIO.input(self.pin) रिटर्न नहीं ingedrukt

def on_press (स्वयं, call_method):

GPIO.add_event_detect(self.pin, GPIO. FALLING, call_method, बाउंसटाइम = self.bouncetime)

def on_release (स्वयं, call_method):

GPIO.add_event_detect(self.pin, GPIO. RISING, call_method, बाउंसटाइम = self.bouncetime)

चरण 6: पूर्ण सर्किट

पूर्ण सर्किट
पूर्ण सर्किट
पूर्ण सर्किट
पूर्ण सर्किट

अब जब हम सभी घटकों को जोड़ चुके हैं, तो उन सभी को मिलाने का समय आ गया है।

जबकि चित्र दिखाते हैं कि घटक ब्रेडबोर्ड पर ही सब कुछ दिखाते हैं, एलसीडी, एडफ्रूट जीपीएस और बटन को महिला से पुरुष तारों से जोड़ा जाना बेहतर है, केवल ब्रेडबोर्ड पर टी-मोची और एमपीयू 6050 है। जब एलईडी और स्विच की बात आती है यह सुनिश्चित करने के लिए कि आप ब्लिंकर बार और स्टीयरिंग बार तक पहुंच सकते हैं, लंबे तारों का उपयोग करें।

चरण 7: कोड

इस निर्देश को साफ रखने के लिए मैंने बैकएंड और फ्रंटएंड दोनों फाइलों के साथ एक जीथब रिपोजिटरी प्रदान की है। फाइलों को /var/www/html फोल्डर में फ्रंटएंड फोल्डर में रखें और बैकएंड फोल्डर में फाइलों को /होम में एक फोल्डर में रखें। [उपयोगकर्ता नाम]/[फ़ोल्डर नाम] फ़ोल्डर

चरण 8: डेटाबेस

डेटाबेस
डेटाबेस

इस प्रणाली को स्थापित करने के तरीके के कारण डेटाबेस में उत्पादों की सूची का उपयोग करके एक साधारण वेबशॉप स्थापित किया गया है, इसके अलावा हमारे पास यहां सभी तरह के बिंदु और ऑर्डर सहेजे गए हैं। एक स्क्रिप्ट को जीथब रिपोजिटरी पर पाया जा सकता है। अगला कदम

चरण 9: मामला

मामला
मामला

एक बार जब हम इलेक्ट्रॉनिक्स के काम को जान लेते हैं तो हम उन्हें एक बॉक्स में भर सकते हैं। आप इसके साथ कुछ रचनात्मक स्वतंत्रता ले सकते हैं। इसे बनाने से पहले बस एक कार्डबोर्ड बॉक्स लें, जिसकी आपको अब आवश्यकता नहीं है, उदाहरण के लिए एक खाली अनाज के डिब्बे की तरह और इसे काटें, टेप करें और इसे तब तक मोड़ें जब तक आपको कुछ पसंद न हो। अपने केस को कागज के एक टुकड़े पर मापें और ड्रा करें और इसे लकड़ी जैसी अधिक मजबूत सामग्री से बनाएं, या यदि वह आपकी चीज नहीं है तो इसे 3 डी प्रिंट करें। बस सुनिश्चित करें कि सभी इलेक्ट्रॉनिक्स अंदर फिट हैं और आपके पास बटन के लिए छेद हैं, स्विच में जाने वाले तार, एलईडी और एलसीडी। एक बार जब आप अपना मामला बना लेते हैं तो बस इसे अपनी बाइक या स्कूटर पर माउंट करने का एक तरीका खोजने की बात है

सिफारिश की: