Orodha ya maudhui:

Mfumo wa Usimamizi wa Hesabu Jumuishi: Hatua 10 (na Picha)
Mfumo wa Usimamizi wa Hesabu Jumuishi: Hatua 10 (na Picha)

Video: Mfumo wa Usimamizi wa Hesabu Jumuishi: Hatua 10 (na Picha)

Video: Mfumo wa Usimamizi wa Hesabu Jumuishi: Hatua 10 (na Picha)
Video: UFUNGUZI WA MAFUNZO YA MFUMO WA USIMAMIZI WA MIKOPO YA 10% YA MAPATO YA NDANI 2024, Julai
Anonim
Jumuishi ya Usimamizi wa Hesabu
Jumuishi ya Usimamizi wa Hesabu

Nimekuwa nikitaka njia ya bei rahisi ya kufuatilia kila kitu kwenye chumba changu, kwa hivyo miezi michache iliyopita nilianza kufanya kazi kwenye mradi ambao ungefanya hivyo tu. Lengo lilikuwa kutengeneza mfumo rahisi, wa bei rahisi ambao ulikuwa rahisi sana kutumia wakati pia kuhifadhi habari za kutosha kustahili juhudi za ziada. Kile nilichojenga mwishowe ni mfumo wa usimamizi wa hesabu ambao unaweza kuhifadhi na kusasisha habari juu ya kitu chochote kilicho na msimbo wa bar, na vile vile data yangu ya msingi juu ya vitu hivyo kutoka kwa wavuti.

Kwa kifupi, mfumo hufanya kazi kama hii.

  1. Nambari ya upau inachanganuliwa.
  2. Hati ya Python inasoma data kutoka kwa skana.
  3. Ombi limetumwa kwa REST API inayoendesha node-nyekundu.
  4. API inashughulikia ombi, inachimba data ya ziada kutoka kwa wavuti, na inabadilisha hifadhidata ipasavyo.

Yote haya hufanywa kwenye Raspberry Pi moja, ikikupa uwezo wa kusasisha na kuhifadhi data kuhusu hesabu yako yote katika mfumo mmoja mdogo, unaoweza kubeba. Mradi huu ni wa kiufundi kidogo na uelewa wa kimsingi wa hifadhidata, HTTP, na Python itasaidia sana, lakini nitajitahidi kuifanya iwe rahisi kwa mwanzoni kuelewa. Tuanze!

Hatua ya 1: Nini Utahitaji

Nini Utahitaji
Nini Utahitaji

Sehemu utakazohitaji kwa mradi huu ni…

  • Pi ya Raspberry
  • Scanner ya Msimbo wa Baa ya USB (kiunga na ile ninayotumia)
  • Adapter ya WiFi (Ikiwa Pi yako haijajengwa katika WiFi)
  • Geuza Kubadili
  • Waya za Jumper
  • Kesi ya Raspberry Pi yako (hiari)

Hatua ya 2: Sakinisha na usanidi Hifadhidata

Sakinisha na usanidi Hifadhidata
Sakinisha na usanidi Hifadhidata

MySQL ni mfumo wa usimamizi wa hifadhidata ambao utashikilia data zote tunazovuta kutoka kwa skani za nambari za bar. Hii ni rahisi sana kufanya kwenye Pi, rahisi fanya amri ifuatayo kwenye terminal ya wewe Pi.

Sudo apt-get kufunga mysql-server

Kisha utatembea kupitia mchakato wa usanikishaji, na utahamasishwa kuunda nenosiri. Hiyo tu. Na MySQL imewekwa, Pi yako inaweza kufanya kama seva yake ndogo ya hifadhidata. Sasa tunahitaji kuunda meza ambazo zitashikilia data zetu. Kwanza, ingia. Baada ya usanikishaji, mtumiaji wa pekee wa MySql ni mzizi (mtumiaji anayeweza kufikia kila meza na mfumo). Unaweza kuingia kama mzizi kwa kutumia amri ifuatayo.

mysql -uroot -p

Hivi karibuni tutaweka mtumiaji mwingine ambaye mfumo wetu utatumia lakini kwanza tunahitaji kuunda hifadhidata yetu, na meza ndani ya hifadhidata hiyo. Ili kufanya hivyo, endesha amri zifuatazo.

kuunda hesabu ya hifadhidata;

tumia hesabu; tengeneza meza upc_count (upc varchar (15) sio null, hesabu kamili (3) sio null default 0, jina varchar (255), size varchar (40), varchar ya mtengenezaji (80), key key (upc));

Sasa tuna meza rahisi na nguzo tano upc (ambayo itakuwa ufunguo wa msingi), hesabu, jina, saizi, na mtengenezaji. Kumbuka: Upc ni nambari inayotambulisha bidhaa kipekee. Nambari hiyo ndio inayosomwa kutoka kwa lebo ya nambari ya bar wakati inachunguzwa.

Mwishowe, tutaanzisha mtumiaji huyo tunayemhitaji. Nitaita yangu, kufanya hivyo, tumia amri zifuatazo, ukitumia jina la mtumiaji na nywila unayopenda:

toa yote kwenye hesabu. * kwa @ 'localhost' iliyotambuliwa na;

Sasa kwa kuwa tuna hifadhidata yetu, tunaweza kuanza kujenga mfumo!

Hatua ya 3: Pata ufunguo wa OutPan API

OutPan ni API ambayo inaweza kutumika kupata habari juu ya bidhaa kwa kutumia nambari yake ya upc. Tutatumia hii kuchimba habari zaidi juu ya bidhaa kwani zinaongezwa kwenye hifadhidata. Hii ni api ya umma, lakini ili kuitumia unahitaji kujiandikisha na kupata ufunguo wa api. Kujiandikisha ni sawa moja kwa moja, nenda hapa na ufuate hatua za kujisajili kwa ufunguo.

Mara tu unapopata ufunguo wako, unakili chini. Utahitaji katika hatua ya baadaye.

Hatua ya 4: Sakinisha na Sanidi Node-Nyekundu

Sakinisha na Sanidi Node-Nyekundu
Sakinisha na Sanidi Node-Nyekundu
Sakinisha na Sanidi Node-Nyekundu
Sakinisha na Sanidi Node-Nyekundu

Node-Red inakuja kusanikishwa kwenye matoleo yote ya OS ya Raspbian tangu mwisho wa 2015. Ili kujua ikiwa umeweka nyekundu-node, fanya tu amri ifuatayo kwenye terminal.

node-nyekundu

Ikiwa ujumbe "amri haikupatikana" unaonyeshwa, utahitaji kusanikisha node-nyekundu. Ili kufanya hivyo, endesha amri zifuatazo.

Sudo apt-pata sasisho sudo apt-get kufunga nodered

Baada ya kuanza node-nyekundu, unaweza kufikia node-nyekundu kutoka kwa anwani iliyoonyeshwa kwenye pato.

Usanidi pekee uliobaki ni kusanikisha nodi za MySQL. Unaweza kufanya hivyo kupitia kivinjari. Bonyeza kwenye ishara kwenye kona ya juu kulia ya ukurasa na kisha bonyeza chaguo "Dhibiti Palette". Kutoka hapo tafuta tu 'mysql' na bonyeza kitufe cha kusanikisha.

Sasa tuko tayari kuagiza API.

Hatua ya 5: Sanidi API

Sanidi API
Sanidi API
Sanidi API
Sanidi API
Sanidi API
Sanidi API

Chini ni API nzima nyekundu-nambari ambayo niliandika. Nakili tu kila kitu hapa chini, bonyeza alama kwenye kona ya juu kulia, na nenda kuagiza → kutoka kwa clipboard.

[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y": 57, "waya": [{"id": "b8b6d2e4.169e7"}]}], "nje": [{"x": 755, "y": 58, "waya": [{"id": "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http ombi", "z": "ef09537e.8b96d", "jina ":" Ombi la Pan "," mbinu ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," waya ":

Sasa unayo API yote ambayo tutatumia kuingiza na kusasisha data. Marekebisho kadhaa tu yanahitaji kufanywa kabla ya kuwa tayari kuitumia.

  1. Kwanza, nenda kwenye node zote za hifadhidata ya MySQL na ubadilishe jina la mtumiaji na nywila kwa zile ulizoziunda kwa hifadhidata katika hatua ya awali.
  2. Pili, hariri mtiririko wa mineOutPanData ili ombi la HTTP litumike kupata data ya Open Pan itumie ufunguo wako wa API.

Sasa uko tayari kutumia API. Mtiririko huu huunda REST API rahisi ambayo hukuruhusu kutuma data kutoka kwa kifaa chochote kilichounganishwa na wavuti ukitumia maombi ya

Hatua ya 6: (Hiari) Kuelewa API

Unganisha Kubadili Kugeuza
Unganisha Kubadili Kugeuza

Jambo la mwisho tunalohitaji kufanya ni kuunganisha kubadili kwa GPIO ili tuweze kuchanganua kwa njia mbili, kuongeza na kuondoa.

Hii ni sawa mbele, weka tu swichi ya kugeuza kusoma kutoka kwa GPIO pin 21 kwenye Pi na uko vizuri kwenda. Kutumia mzunguko kwenye picha iliyoambatishwa (inayojulikana kama mzunguko wa PUD CHINI) hati itatuma ombi la kuongeza wakati swichi ya kugeuza imefungwa na ombi la kuondoa wakati swichi ya kugeuza imefunguliwa.

Baada ya hapo tunapiga waya kwa ndani ya kesi na tuko vizuri kwenda.

Hatua ya 9: (Hiari) Unda Kiolesura cha Mtumiaji

(Hiari) Unda Kiolesura cha Mtumiaji
(Hiari) Unda Kiolesura cha Mtumiaji

Hatua hii ya mwisho sio lazima lakini kwa hakika inasaidia ikiwa unataka kutumia uwezo kamili wa mfumo. Nilibainisha kiolesura rahisi cha mtumiaji kilichoonyesha data zote tunazo kwenye hifadhidata yetu katika jedwali rahisi la kuabiri. Jedwali linaweza kupangwa kwa safu na pia kutafutwa, na kuifanya iwe rahisi kuona kile unacho mkononi.

UI ni rahisi sana; Nilipanga tena nambari ya mfano niliyoipata mkondoni kufanya kazi na API yetu (ikiwa una nia, nambari hiyo ya mfano inaweza kupatikana hapa).

Ili kuendesha UI, fanya yafuatayo…

  1. Hifadhi faili ya index.txt iliyoambatishwa kama index.html (sikuweza kupakia faili hiyo kama faili ya HTML kwa sababu fulani).
  2. Weka faili mbili kwenye saraka sawa kwenye kompyuta yako.
  3. Endesha faili ya 'index.html' katika kivinjari chako unachopenda.

Sasa tunaweza kuona na kutatua kwa urahisi hesabu yako!

Hatua ya 10: Anza Kutambaza

Anza Kutambaza!
Anza Kutambaza!

Sasa uko tayari kuanza kutambaza! Ikiwa una maswali yoyote waache kwenye maoni na nitakuwa na hakika kujibu wakati ninaweza.

Mwishowe, kura zako kwenye shindano zitathaminiwa sana. Asante kwa kusoma!

Ilipendekeza: