Cum in anno penultimo scholae superioris essem (a Martio ad Decembrem anni 2016), valde irritatus sum ob rem quae in refectorio scholae nostrae orta est.
Problema primum: nimis longum tempus exspectationis in ordine
Quod problema observavi? Hoc unum:

Mensa cibaria discipulis plena erat, et diu (quinque ad decem minuta) exspectare debuerunt. Hoc sane problema commune est et iusta ratio ministrandi: quo serius advenias, eo serius tibi ministrabitur. Itaque intellegi poterat cur exspectare debuissent.
Problema secundum: condiciones inaequales eorum qui exspectant
Sed, scilicet, non solum id est; aliud quoque, gravius problema observavi. Tam grave ut tandem constituerim solutionem quaerere. Discipulis classium superiorum (id est, cuilibet saltem uno gradu superiore) et magistris licebat in ordine se inspicere ad punctum distributionis ciborum. Et sane, ut discipulus scholae elementariae, nihil eis dicere licebat. Schola nostra legem satis severam de relationibus inter classes habebat.
Itaque, cum novi essemus, amici mei et ego primi ad refectorium adveniebamus, cibum accepturi – tum discipuli maiores natu aut magistri advenientes nosque simpliciter propellebant (quidam ex benignioribus nos in ordine manere sinebant). Quindecim aut viginti minuta amplius exspectare debebamus, quamquam primi adveniebamus.
Prandium nobis maxime difficile erat. Interdiu, omnes prorsus (magistri, discipuli, magistri) in refectorium festinabant, itaque nobis, discipulis scholae elementariae, prandium numquam gaudium erat.
Solutiones consuetae problematis
Sed cum advenae nullam optionem haberent, duas rationes excogitavimus ad periculum ne ad ultimum ordinem pelleremur minuendum. Prima erat ad refectorium pervenire quam primum (literaliter antequam cibus ministrari inciperet). Secunda erat tempus consulto terere ludendo teniludio vel pilamalleolo et persevere sero (circiter viginti minutis post initium prandii).
Quodammodo successit. Sed re vera, nemo cupidus erat ad popinam festinare ut aliquid edendum acciperet, aut reliquias aliorum frigidas consumeret quia inter ultimas erant. Solutionem requirebamus quae nos certiores faceret cum popina vacua esset.
Optimum fuisset si quis vates nobis futura praedicere posset et accurate dicere quando ad popinam iremus, ne nimis diu exspectaremus. Problema erat quod quisque dies alius erat. Non poteramus simpliciter exempla perscrutari et tempus optimum invenire. Sola via cognoscendi quomodo res in popina se haberent erat eo ambulare, et iter aliquot centum metra esse poterat, pro loco ubi esses. Itaque si advenisses, lineam inspiceres, redires, et eodem modo pergeres donec brevior fieret, multum temporis perderes. Vita misera erat pro classe elementari, et nihil de ea re facere poteras.
Eureka – idea creandi Systema Monitorium Refectorii
Et subito, iam insequenti anno scholastico (2017), mihi dixi: "Quid si systema crearemus quod longitudinem ordinis (id est, congestionem vehiculorum) tempore reali ostenderet?" Si mihi successit, imago talis esset: discipuli scholae elementariae simpliciter telephona sua inspicerent ut notitias recentes de gradu congestionis praesenti acciperent et decernerent utrum nunc ire conveniat necne.
Hoc systema, re vera, inaequalitatem per accessum ad informationem mitigabat. Discipuli scholarum elementarium eo uti poterant ut ipsi decernerent quid optimum esset — ire et in ordine stare (si non nimis longum esset) aut tempus suum fructuosius consumere et momentum opportunius postea eligere. Hac idea valde delectabar.
Designatio Systematis Monitorii Refectorii
Mense Septembri anni 2017, mihi propositum pro cursu programmandi ad obiecta pertinentis submittere debui, et hoc systema tamquam propositum meum subiecī.

Consilium systematis initiale (Septembri 2017)
Delectus Instrumentorum (Octobris 2017)

Simplex commutator tactilis cum resistore sursum elevante. Circuitus cum quinque scutis in tribus ordinibus ad detegendam seriem in tribus lineis.
Quinquaginta tantum membranae interruptores, tabulam Wemos D1 mini ESP8266, et quasdam anulares fibulas quibus fila smaltata adnectere constitueram, imperavi.
Prototypa et progressio (Octobris 2017)
Tabula experimentali coepi, circuitum construxi, et probavi. Materiis limitatus eram, itaque me ad systema quinque pedum circumscripsi.
Pro programmate quod lingua C++ scripsi, haec proposita mihi proposui:
- Continuo labora et notitias mitte tantum temporibus quibus cibus ministratur (ientaculum, prandium, cena, merenda pomeridiana).
- Agnosce congestiones in ordine vel vehiculis in popina frequentiis quae in exemplaribus machinalibus discendi adhiberi possunt (exempli gratia, 10 Hz).
- Data ad servitorem efficaciter (magnitudo fasciculi parva esse debet) et brevibus intervallis mitte.
Ad ea assequenda, haec mihi facienda erant:
- Modulo RTC (Horologio Temporis Realis) utere ad tempus continenter monitorandum et determinandum quando cibus in refectorio apponatur.
- Compressionem datorum ad statum scuti uno charactere repraesentandum adhibui. Data quasi codicem binarium quinque digitorum tractans, varios valores characteribus ASCII adsignavi ut elementa datorum repraesentarent.
- Utere ThingSpeak (instrumento analytico rerum interretialium et graphicis in interrete delineandis) petitionibus HTTP POST missis.
Scilicet, nonnulla vitia erant. Exempli gratia, nesciebam operatorem `sizeof()` quattuor pro obiecto `char*` reddere, non longitudinem litterarum (quia non est series, et ideo compilator longitudinem non computat). Valde confusus eram cur petitiones meae HTTP tantum quattuor characteres totius URL continerent!
Oblitus sum etiam parenthesibus in gradu #define includere, quod ad eventus inopinatos duxit. Bene, dicamus:
#define _A 2 * 5
int a = _A / 3;Hic quis exspectaret A aequale esse 3 (10 / 3 = 3), sed re vera aliter calculatum est: 2 (2 * 5 / 3 = 2).
Denique, aliud vitium notabile quod offendi fuit reinitium temporis custodis. Cum hoc problemate diu luctatus sum. Ut evenit, conabar registrum infimi gradus in chip ESP8266 perperam accedere (erronee valorem NULL indice structurae assignans).

Lamina pedalis quam designavi et construxi. Cum haec photographia capta est, iam quinque hebdomades calcationis superaverat.
Ferramenta (pedes)
Ut scuta asperas condiciones refectorii tolerare possent, haec eis requisita imposui:
- Scuta satis firma esse debent ut pondus humanum omni tempore sustineant.
- Scuta tenuia esse debent ne homines in ordine impediant.
- Interruptor activandus est cum calcatur.
- Scuta aquae impervia esse debent. Triclinium semper humidum est.
Ut his requisitis implerem, consilium cum structura duorum stratorum elegi - acrylico laser-secto pro basi et operculo superiori, et subere ut strato protectivo.
Exemplar scuti in AutoCAD feci; dimensiones sunt 400 per 400 millimetra.

A sinistra est exemplar quod in productionem positum est. A dextra est versio cum nexu Lego simili.
Obiter, consilium rectum tandem reliqui, quia cum illo systemate fixationis significabat quadraginta centimetra inter scuta esse debere, quod significabat me spatium requisitum (plus quam decem metra) tegere non posse.


Ad omnes interruptores coniungendos, filo smaltato usus sum — plus quam septuaginta metra in summa! Interruptorem membranaceum in medio cuiusque tabulae collocavi. Duae fibulae ex fissuris lateralibus — una ad sinistram et una ad dextram interruptoris — prominebant.
Et ut aquae impervia fieret, taenia glutinosa usus sum. Multa taenia glutinosa.
Et omnia successit!
Tempus a die quinto Novembris ad diem duodecimum Decembris

Imago systematis – omnes quinque tabulae conspiciuntur. Electronica (D1-mini / Bluetooth / RTC) a sinistra sita sunt.
Quinto die Novembris, hora octava matutina (tempore ientaculi), systema coepit colligere notitias recentes de statu refectorii. Oculis meis credere non poteram. Modo ante duos menses, consilium generale adumbrabam dum domi sedens, tunica nocturna indutus, et ecce: totum systema prospere fungebatur... vel non.
Errores programmatum inter probationes
Scilicet, systema satis multa vitia habebat. Hic sunt quae mihi eminent.
Programma loca Wi-Fi accessibilia non quaerebat cum clientem ad API ThingSpeak coniungere conabatur. Ad hoc corrigendum, gradum additum ad Wi-Fi accessibilem inspiciendum addidi.
In functione "setup", "WiFi.begin" iterum atque iterum vocabam donec nexus constitutus esset. Postea inveni firmware ESP8266 nexum stabilire, et functionem "begin" tantum durante configuratione Wi-Fi adhiberi. Hoc correxi functionem semel tantum, durante configuratione, vocando.
Inveni interfaciem lineae mandatorum, quam creavi (quae ad tempus constituendum et configurationes retiarias mutandas destinata erat), non operari cum otiosus esset (hoc est, extra ientaculum, prandium, cenam et merendam pomeridianam). Animadverti etiam, cum nullae notationes fierent, circuitum internum nimis accelerari, data serialia nimis celeriter legendo. Itaque moram addidi ut systema mandata addita exspectaret, cum exspectata essent.
Ode ad canem custodem
Oh, et de illa quaestione temporis custodis loquens, eam ipso tempore probationum in campo solvi. Hoc solum erat de quo cogitare potui per quattuor dies. Quisque decem minutorum intervallo, ad refectorium festinabam ut novam codicis versionem experirer. Et cum distributio aperiretur, per horam integram in solo sedebam, conans virus capere. Ne de cibo quidem cogitavi! Gratias tibi ago pro omnibus bonis rebus, temporis custodis ESP8266!
Quomodo WDT intellexi

Fragmentum codicis quo laborabam
Programma, vel potius extensionem pro Arduino, inveni, quod structuram datorum programmatis analyzat cum Wdt reset fit, ad fasciculum ELF codicis compilati (correlationes inter functiones et indices) accedens. Hoc facto, apparuit errorem sic corrigi posse:

Mehercule! Quis scivit tam difficile esse errores in systemate temporis realis corrigere? Attamen errorem correxi, et stultus error apparuit. Inexpertus, seriem "while" scripseram quae seriem (array) obruebat. Uf! (index++ et ++index duae res valde diversae sunt.)

Problemata apparatuum inter probationes
Scilicet, apparatus — laminae pedales — longe ab optima aberat. Ut expectatum, unus ex interruptoribus haesit.

Die septimo Novembris, inter prandium, interruptor in tertio tabula haesit.
Supra, imaginem graphicam ex situ interretiali ThingSpeak inclusi. Ut videre potes, circa horam 12:25 aliquid accidit, quod effecit ut tabula centralis tertia deficeret. Quam ob rem, longitudo explosionis ut 3 computata est (valor est 3 * 100), quamquam re vera tabulam centralis tertiam non attigit. Emendatio constabat in addendo plus impletionis (ita, taenia electrica) ut commutatori plus spatii daretur.
Interdum systema meum radicitus avellebatur cum funis in ianua implicaretur. Currus et sacci per ianuam in refectorium impellebantur, ita ut ianua funem secum traheret dum claudebatur, eum e receptaculo suo extrahens. In talibus casibus, subitam interruptionem in transmissione datorum animadvertebam et suspicabar systema a fonte potentiae disiunctum esse.
Informationem de systemate per scholam disseminando
Ut dictum est, API ThingSpeak usus sum, quae notitias in situ interretiali ut grapha visualizat, quod percommodum est. Simpliciter nexum ad graphum meum in grege Facebook scholae misi (dimidiam horam hanc inscriptionem quaerens impendi nec invenire potui—mirum sane). Tamen, inscriptionem in "my Band", communitate scholae, die quinto mensis Novembris anni MMXVII inveni:


Reactio procellosa erat!
Haec publicavi ut studium in proiecto meo excitarem. Attamen, sola earum intueri per se satis iucundum est. Exempli gratia, hic clare videre potes quomodo numerus hominum acriter creverit hora sexta et secunda et fere ad nihilum descenderit hora sexta et decima.

Supra, nonnulla schemata pro horis prandii et merendarum pomeridianarum adiunxi. Curiose, maxima turba inter prandium fere semper hora duodecima et vicesima quinta evenit (ordines usque ad quintum signum pertingebant). Merendae pomeridianae plerumque insolito modo plenae sunt (ordines ad summum unum signum longi erant).
Scisne quid ridiculum sit? Hoc systema adhuc vivit (https://thingspeak.com/channels/346781)! In rationem quam antea utebar ingressus sum et hoc vidi:

In graphico supra, vidi influxum hominum die tertio Decembris multo minorem fuisse. Nec mirum est—dies Solis erat. Eo die, fere omnes alicubi foris sunt, quia plerumque dies Solis solus est quo ex area scholae exire licet. Intellegitur neminem in refectorio fine hebdomadis videre.
Quomodo primum praemium a Ministerio Educationis Coreano pro incepto meo vici.
Ut videre potes, in hoc opere non laboravi quia aliquod praemium aut recognitionem quaerebam. Simpliciter artes meas ad problema perenne quod in schola experiebar adhibere volui.
Attamen, nutritrix scholae nostrae, domina O, cui valde familiaris factus eram dum propositum meum parabam et evolvebam, me olim rogavit num de certamine idearum pro popina scirem. Eo tempore, putavi eam esse ideam quandam insolitam – ideas popinarum inter se certantes. Sed libellum informationum legi et didici terminum ad submissiones esse diem vicesimum quartum Novembris! Bene, bene. Celeriter conceptum, data, et graphica polivi et applicationem meam submisi.
Mutationes ideae originalis certaminis
Obiter, systema quod tandem proposui paulum differt ab eo quod iam institutum erat. Methodum meam originalem (longitudines filarum in tempore reali metiens) ad multo maiores scholas Coreanas aptavi. Comparando, schola nostra trecentos discipulos habet, dum aliae totidem in una tantum classe habent! Necesse erat mihi invenire quomodo systema amplificare possem.
Itaque notionem proposui, quae magis in potestate manuali fundata erat. Scholae Coreanae nunc horarium prandii omnibus classibus stricte impositum habent, itaque schema diversum "signorum-responsorum" elaboravi. Hoc systema signorum-responsorum esse debuit. Cum grex ante te ad certam longitudinem lineae perveniret (id est, linea brevis fieret), tibi signum manu mitterent per puga vel interruptorem in pariete. Signum ad velum televisificum vel per lumina LED transmitteretur.
Vehementer cupiebam problema solvere quod in scholis per totam regionem oriebatur. Animus meus magis confirmatus est cum fabulam a domina O audivi—iam tibi narrabo. Evenit ut in nonnullis magnis scholis, ordo extra refectorium, viginti aut triginta metra in viam, etiam hieme, extendatur, quia nemo processum recte ordinare potest. Et interdum, per aliquot minuta, nemo omnino adest—quod quoque malum est. In scholis cum magno numero discipulorum, magistri vix tempus habent omnibus ministrandi, etiamsi ne minutum quidem temporis prandii assignati perditur. Itaque, qui ultimi advenerunt (plerumque discipuli scholarum elementarium) simpliciter tempus edendi non habent.
Itaque, quamquam applicationem meam festinanter mittere debui, tamen diligentissime cogitavi quomodo eam ad usum latiorem accommodare possem.
Nuntius me primum praemium vicisse!
Breviter, invitatus sum ut venirem et proiectum meum magistratibus publicae praesentarem. Itaque, omnibus meis artibus PowerPoint usus sum, adveni, et praesentavi!

Initium praesentationis (extrema sinistra – minister)
Experientia erat iucunda – modo aliquid excogitavi ad problema popinae solvendum, et aliquo modo certamen vici. Etiam in scaena stans, cogitabam, "Hmm, quid hic ago?" Sed in universum, proiectum valde utile erat – multa didici de evolutione systematum insertorum et de exsecutione proiectorum in vita reali. Et scilicet, praemium vici.
conclusio,
Ironia quaedam hic inest: quotcumque certaminibus et nundinis scientiarum me inscripserim, nihil umquam utile inde evenit. Sed hic, occasio me simpliciter invenit et bonos fructus attulit.
Hoc me ad cogitandum impulit de causis quae me ad suscipienda opera impellunt. Incipio opus ut "vincam" an ut problema reale in mundo circum me solvam? Si hoc posterius tibi accidit, te vehementer hortor ut perseverare possis. Hac ratione, inopinatis occasionibus in itinere occurres nec pressionem ad vincendum senties — incitamentum tuum principale erit ardor erga id quod agis.
Atque gravissimum: si dignam solutionem instituere contigerit, statim eam in mundo reali experiri potes. In meo casu, suggestus schola erat, sed tempore procedente, experientia accumulatur, et quis scit – fortasse applicatio tua ab tota patria vel etiam toto mundo adhibebitur.
Quotiescumque de hac experientia recolo, etiam meipsum aliquantum superbus sum. Cur explicare non possum, sed processus exsecutionis operis mihi magnam voluptatem attulit, et praemium fuit commodum additum. Praeterea, laetus eram quod problema condiscipulorum meorum solvere potueram, quod eorum vitas quotidie corrumpebat. Olim, discipulus ad me accessit et dixit, "Systema tuum perutile est." Summo gaudio exsultavi!
Credo me etiam sine ullis praemiis, propter hoc solum progressu meo superbum fore. Fortasse aliis auxilium ferendo tantam mihi satisfactionem attulit... quomodocumque, amo opera.
Quod hoc articulo assequi speravi
Spero te, ad finem huius articuli, inspiratum esse ad aliquid agendum quod communitati tuae, vel etiam tibi ipsi, prosit. Te hortor ut peritias tuas (programmandi artem certe unam ex his est, sed aliae quoque sunt) adhibeas ad mundum circa te in melius mutandum. Te certiorem facere possum experientiam quam in hoc processu adipisceris incomparabilem fore.
Etiam novas vias tibi aperire potest quas numquam exspectaveras—hoc mihi accidit. Itaque quaeso, fac quod amas et vestigium tuum in mundo relinque! Echo unius vocis totum mundum concutere potest, ergo tibi crede.
Hic sunt nexus quidam ad proiectum pertinentes:
- )
- de fontibus nuntiorum
Source: www.habr.com
