Mundarija:
- 1 -qadam: nazariya
- 2 -qadam: narsalarni oling
- 3 -qadam: Sensor o'rnatish
- 4 -qadam: Sensorni ulang
- 5 -qadam: ulang
- 6 -qadam: Squidbee dasturlash
- 7 -qadam: Kompyuterga ulaning
- 8 -qadam: Python
- 9 -qadam: qaramlik
- 10 -qadam: kod
- 11 -qadam: stulni qismlarga ajratish
- 12 -qadam: Mebelni olib tashlang
- 13 -qadam: Yostiqchani o'zgartiring
- 14 -qadam: Sensorni joylashtiring
- 15 -qadam: Qayta yig'ing
- 16 -qadam: Pastki qism
- 17 -qadam: uni yoqing
- 18 -qadam: Kodni ishga tushiring
- 19 -qadam: tvit qiling
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Twitterdagi ofis kreslosi, odamlarning gazi natijasida hosil bo'lgan tabiiy gaz aniqlanganda, "tvitlar" (Twitter yangilanishini joylashtiradi). Bu mening hayotimni aniq hujjatlashtirish va sodir bo'lgan taqdirda bo'lishish majburiyatining bir qismi. Ilmiy nazariyani chuqurroq bilish uchun, iltimos, "Teoriya" deb nomlangan keyingi qadamni ko'ring. Tvitterda o'z mehnatining natijalarini ko'ring.
1 -qadam: nazariya
Hamkasbimning so'zlariga ko'ra, Twitter Flickr postlari va Facebook yangilanishlari orasidagi bo'shliqda, hayot ro'y berganda sodir bo'lishi kerak. Xo'sh, vaqt o'tishi bilan "hayot haqiqatan ham sodir bo'lganda", hayot aslida sodir bo'ladi. Bu chiroyli ham, yomon ham emas. Bu shunchaki hayot. Agar Twitter hayot hujjati bo'lishi kerak bo'lsa, u haqiqatan ham hech qanday aralashuvsiz sodir bo'lgandek hayotni hujjatlashtirishi kerak. Agar u buni uddalay olmasa, unda hayot "tvitlar" orasidagi bo'shliqqa aylanadi (Twitter postlari).
Shu sababli, Twitter -ni hayotiy voqealar bilan, voqeaning o'ziga aralashmasdan yangilab turish juda muhim. Hayot hujjatlari bundan buyon avtomatlashtirilishi kerak.
Aytgancha, men hujjatlashtirishim kerak bo'lgan hayotning birinchi qismini ishdagi kundalik meteorizm deb qaror qildim. Men yolg'on gapirmoqchi emasman, men gazli odamman. Mening meteorizmim hayotning bir qismi bo'lgani uchun, bu hodisalarni hujjatlashtirmasdan, hayotni shunday hujjatlashtirish men uchun firibgarlik bo'ladi.
Kundalik faoliyatga aralashmaslik jarayoniga mos ravishda, men o'zimni yangilashim uchun bezovta qilmasdan, meteorizmni aniqlash uchun ham, Twitter uchun ham ofis stulini yaratdim.
2 -qadam: narsalarni oling
Sizga kerak bo'ladi:- Ofis kreslosi- Squidbee TX/RX juftligi- 1/8 dyuymli akril- 50K trimpot- Tabiiy gaz sensori- Qattiq bog'lovchi sim- Lehimlash moslamasi- Lazerni kesish (yoki arra va burg'ulash)- Ustara pichog'i- Tornavida to'plami - Burg'ulash- yong'oqlar va murvat (yoki vintlardek)- penseler- asosiy qurol- Python- Twitter-dagi akkaunt
(E'tibor bering, bu sahifadagi havolalarning ba'zilari sheriklik havolalaridir. Bu siz uchun mahsulot narxini o'zgartirmaydi. Men olgan mablag'imni yangi loyihalarni amalga oshirish uchun qayta sarmoya qilaman. Agar siz muqobil etkazib beruvchilar uchun biron bir taklifni xohlasangiz, menga ruxsat bering. bilaman.)
3 -qadam: Sensor o'rnatish
O'rnatilgan Corel faylini yuklab olib, 1/8 bo'lak akrilni Epilog lazerni kesish vositasi yordamida lazer bilan kesish orqali datchik o'rnatish moslamasini yarating.
Men Epilog lazer kesgichlari qanchalik ajoyibligini aytdimmi?
Qanday bo'lmasin … Agar bizdan Instructables -dan farqli o'laroq, sizda lazerli kesuvchi bo'lmasa, siz faylni yuklab olishingiz va qog'ozga chop etishingiz mumkin. Qog'oz varag'idan dumaloq konturni kesib oling va uni qo'llanma sifatida akrilga yopishtiring. Zarur bo'lganda, matkap yordamida akril orqali teshiklarni burang va konturni jigsaw (yoki shunga o'xshash) bilan kesib oling.
4 -qadam: Sensorni ulang
Rasmdagi sxemada ko'rsatilgan simlarni kuzatib, sensorni o'rnatish burchagiga ulang. Agar sizda trimpot bo'lmasa, siz qarshilik qiymatini 22K va 47K oralig'ida kiritishingiz mumkin (trimpot tavsiya etiladi). Komponentlar joylashtirilganda, ularni joyiga lehimlang. Sizni chalg'itadigan har qanday qo'shimcha potentsialni kesib tashlashingiz mumkin.
5 -qadam: ulang
Squidbee -ni oching (agar siz buni o'zingiz qilmagan bo'lsangiz) va barcha keraksiz sensorlarni ajratib oling. Tabiiy gazni aniqlash sensorini shunday ulangki, quvvat manbaiga ulanadi va ma'lumot uzatish liniyasi 2 -pinga o'tadi (ko'rsatilganidek).
6 -qadam: Squidbee dasturlash
Endi Squidbee -ni analog sensorni o'qish uchun kod bilan dasturlash vaqti keldi.
Birinchidan, Arduino -dan Xbee qalqonini ajratib oling (datchik Squidbee -ga ulangan). Shuningdek, quvvat simini batareyadan USB quvvatiga o'zgartiring.
Keyin Arduino -ni USB portiga ulang.
Arduino dasturchisini oching.
Seriya portini o'rnating (odatda /dev/tty.usbserial-A70048pF ga o'xshaydi). Kelgusi ma'lumot uchun ketma -ket port manzilini yozing.
Kodni kompilyatsiya qilish uchun yuklab oling, oching va "ijro" tugmasini bosing (pastda yuklab oling). Kodni Arduino -ga yuklang.
Arduino -ni kompyuterdan uzing. Jumperni batareya quvvatiga qaytaring va Xbee qalqonini qayta yoqing.
7 -qadam: Kompyuterga ulaning
Sensor o'qishni boshlashga tayyor bo'lgach, 9V batareyangizni Squidbee uzatgichiga ulang va qabul qilgichni kompyuterga ulang.
Kompyuteringizdagi Arduino interfeysidagi ketma -ket monitorni ko'rish orqali siz kiruvchi ma'lumotlar oqimini ko'rishingiz mumkin.
8 -qadam: Python
Uzoqqa borishdan oldin, sizga Python kerak, agar siz OS X -ning so'nggi versiyasiga ega Mac -dan foydalanayotgan bo'lsangiz, sizda Python bo'lishi kerak. Terminalni oching, "python" buyruq irodasini kiriting va "enter" tugmasini bosing. Bu Python-ni ochishi kerak. Python o'z ishini bajarayotganini ko'rish uchun: "salom dunyo" ni chop eting (va Enter tugmasini bosing) Bu "Salom dunyo" so'rovini qaytaradi. Python-dan chiqish uchun "control-D" tugmasini bosing. Python -ga ega bo'lsangiz, uni bu erdan yuklab olishingiz va ko'rsatilgan ko'rsatmalarga amal qilib o'rnatishingiz mumkin.
9 -qadam: qaramlik
Python kodini keyingi bosqichda ishga tushirish uchun siz bir nechta halqalarni bosib o'tishingiz kerak. Sizga kerak bo'lgan birinchi narsa - setuptools shell skriptidir. Terminalni oching va ishchi katalogingizni "setuptools" katalogiga o'zgartiring. Siz "cd nameofdirectory" yozib "enter" tugmasini bosib kataloglarni o'zgartirishingiz mumkin. va siz "ls" yozib, "enter" tugmasini bosib, hozirgi manzilingizdagi qanday kataloglarga qarashingiz mumkin. To'g'ri katalogga kirganingizdan so'ng, chmod setuptools.egg (yoki faylning aniq nomi nima bo'lishidan qat'i nazar, fayl nomini o'zgartirmang) yozib qobiq skriptini o'rnating. Buning uchun administrator parolini kiritish talab qilinishi mumkin. Buni so'ralganda qiling va "Enter" tugmasini bosing. Endi siz Easy Install -dan foydalanishingiz kerak, bu hech qachon yozilmagan eng katta kod qismlaridan biri. "Easy Install" ni o'rnatganingizdan so'ng, "easy_install" buyruq satriga yozib, keyin yuklamoqchi bo'lgan paketingizning nomini kiriting va "Enter" tugmasini bosing. Masalan, "easy_install greatcode" (haqiqiy misol emas). Siz bilgan keyingi narsa - siz o'zingizning kodingizda foydalanish uchun "buyuk kod" paketini yukladingiz va o'rnatdingiz. So'rovni oching va pastdagi har bir qatorni kiriting va "Enter" tugmasini bosing. Bu oddiy Json, Twitter, Vaqt va ilg'or matematik (numpy) paketlarini o'rnatadi.easy_install simplejsoneasy_install pyserialeasy_instally numpy easy_instally timeBu sahifadagi ko'rsatmalarga amal qilib Python Twitter -ni yuklab oling va o'rnating (hatto "easy_install twitter" ni ham sinab ko'rishingiz mumkin).
10 -qadam: kod
Bu loyiha men uchun Pythonni o'rganishni boshlash uchun katta bahona bo'ldi. Ajam sifatida bu kod mukammal emas, lekin u ishni bajaradi. Agar sizda buni qanday takomillashtirish bo'yicha takliflaringiz bo'lsa, iltimos, menga ayting -chi, Python haqida bilgan ba'zi foydali narsalar: Pythonning eng katta xususiyatlaridan biri (yoki, ehtimol, eng yomoni?) Sintaksisining yo'qligi. Siz kamdan -kam hollarda yopilish yoki ochilish yorlig'ini eslab qolishingiz kerak. Siz kod satrlarini yozishni davom ettirishingiz mumkin va Python uni qayta ishlash uchun qo'lidan kelganicha harakat qiladi. Python kod bloklarini ularning kiritilishiga qarab qayta ishlaydi. Noto'g'ri indentatsiya falokatga olib kelishi mumkin. Misol uchun, kodni bilishning yagona usuli - bu loopning bir qismi ekanligini, chunki u ham shu ko'chadan bir qismi bo'lgan hamma narsa bilan bir xil. Pythonning funktsional tizimi bir nechta darajalarda chalkashliklarni keltirib chiqaradi (masalan, ba'zi o'zgaruvchilar o'zgaruvchan, ba'zilari esa yo'q). Men funktsiyalarning murakkabligini to'liq tushunmayapman, lekin agar siz qiziqmoqchi bo'lsangiz, uni albatta qidirib toping, biz foydalanmoqchi bo'lgan kod bir nechta paketlarni o'z ichiga oladi, ular o'z xohishiga ko'ra chaqirilishi mumkin bo'lgan funktsiyalar to'plamini o'z ichiga oladi. Quyidagi paketlarni import qilmoqdamiz:- Python Twitter- PySerial- Numpy- Time- Random Kod quyidagicha:
#!/usr/bin/python #Filename: TwitterChair.pyimport twitterimport serialimport numpyimport timeimport tasodifiy ## Sizning foydalanuvchi ismingiz va parolingiz bu erda#api = twitter. Api (username = 'yourusername', password = 'yourpassword') ## Buni o'zgartiring ketma-ket portingizga mos keling#ser = serial. Serial ('/dev/tty.usbserial-A70063pF', 19200) serialArray = global gassygassy = 0def checkokay (): ser.flushInput () time.sleep (3) line = ser.readline () time.sleep (3) if line == '': line = ser.readline () print 'here' in startvalues (i): while i <= 50: #time.sleep (.25) line = ser.readline () serialArray.append (int (line)) ser.flushInput () i = i+1 serialArraycheckokay () boshlang'ich qiymatlari (0) def main (i, i1): ArrayTransfer = numpy.array (i) ComparatorValue = int (numpy.mean (ArrayTransfer)) bosma.flushInput () x = x+1 chop etish 'yarim minut e 'x = 0 y = y + 1 if lastReading> (ComparatorValue + 50): i1 = 1 if i1 == 1: sayohatlar = ["U yana muvaffaqiyat va kuch bilan yugurdi. Voy, voy. "," Pfffffffffft "," Uf. Bu qo'pol gap edi "," Iltimos, kimdir meni qismlarga ajratib qo'ying "," Agar men ko'pikli plyonkani qoqib qo'ysam, bo'lardim "," Men boshqa stul bo'lganimda edi "," U yana ustimdan yiqilib tushdi "," Yo'q kelishini eshiting "," takrorlashga ruxsat bering … ppppfffffffftttttttttttt "," Bu har doim ham shunday bo'lmagan. "] pickSaying = random.randint (0, 9) print pickSaying status = api. PostUpdate (so'zlar [pickSaying]) loopy = 0 bosma "bajarildi" agar _name_ == "_main_" bo'lsa: asosiy (serialArray, loopy) main (serialArray, gassy)
11 -qadam: stulni qismlarga ajratish
Kreslo o'rindig'ida pastki va orqa tomon orasidagi bo'sh joyni belgilang. Bu sensorni o'rnatmoqchi bo'lgan joy.
O'rindiqni o'rindiq yig'indisidan olib tashlang va belgilangan joydagi ko'pikka kirguningizcha qoplamani echib oling.
12 -qadam: Mebelni olib tashlang
Kresloingizdagi mato, ehtimol, zımba bilan mahkamlangan.
Matoning bir oz ko'tarilishi uchun o'rindiqning orqa qismidagi zımbalarni olib tashlang.
13 -qadam: Yostiqchani o'zgartiring
Ko'pikni yirtib tashlang, shunda cho'ntak bor, unga sensorni stulga qo'yish mumkin. Teshikni boshlash uchun ustara pichoqni ishlatib, ishni biroz osonlashtirdim.
14 -qadam: Sensorni joylashtiring
Sensorni o'rindiq o'rindig'ining yostig'ida qilgan teshigiga joylashtiring. Iloji bo'lsa, datchikni orqa tomonga bir oz burab qo'ying.
15 -qadam: Qayta yig'ing
Kresloni bir joyga qo'ying. Bu shuni anglatadiki, uni shtapelli qurol bilan qayta to'ldirish va har qanday yong'oq va murvatni yangilash kerak.
16 -qadam: Pastki qism
Qanday bo'lmasin, uzatgich qutisini stul o'rindig'ining pastki qismiga mahkamlang, shunda siz korpusni ochishingiz va yopishingiz mumkin.
Men o'zimni issiq elim yordamida yopishtirishni tanladim. Yong'oq va murvat kabi narsalarni ham ishlatishingiz mumkin.
Bu birinchi navbatda idishni bo'shatishni talab qilishi mumkin.
17 -qadam: uni yoqing
Batareyani stulga biriktirilgan uzatgichga ulang va korpusni yoping.
Qabul qilgichni kompyuterga ulang.
18 -qadam: Kodni ishga tushiring
Kodni terminalni ochish orqali ishga tushiring, fayl joylashgan katalogga o'ting va python -da yozing TwitterChair.py
Agar siz hali "kod" qadamidan python faylini yuklab olmagan bo'lsangiz, uni shu bosqichdan yuklab oling!
19 -qadam: tvit qiling
Tishlaganingizda tvit qiling. Baxtli ravishda, odamlarga sizning hayotingiz bilan shug'ullanayotganingizni xabar bering.
Siz buni foydali, qiziqarli yoki ko'ngilochar deb topdingizmi? Mening so'nggi loyihalarimni ko'rish uchun @madeineuphoria -ni kuzatib boring.