æ°å¹Žã®4æ¥åã®12æ28æ¥ãç§ã¯åé¡ãæ±ããŠããŸãããæ°å¹Žã®è±èŒªã売ãããšã¯çããäžåœã®ãŽãã ãšããããšã«æ°ä»ããŸããã äºå®ãç§ã«ã¯å°ããªäººå·¥çãªã¯ãªã¹ãã¹ããªãŒãšå°ããªåäŸãããã®ã§ãããªãŒã«ã©ããªåœ¢ã®220 Vãå¿ èŠãšãããæ°çŸã®é»çã«è±èŒªãå¿ èŠãããŸããã§ããã ãããŠåœŒã¯ããã«ããããã®ã¢ã€ãã ã«è©²åœãããã®ããã¹ãŠåãé€ããåŸããæ±æãšæ³£ããååã ããè¿ãã®åºã«æ®ã£ãŠããããšãçºèŠããŸããã
ãããã£ãŠãç§ã¯èªåã§è±èŒªãäœããªããã°ãªããŸããã§ããã ãããŠããã®ã¬ãŒã©ã³ãã«ã¯IPã¢ãã¬ã¹ããããŸãã
ããããçå£ã«èšãã°ãç§ã¯2ã€ã®ç®æšãè¿œæ±ããŸããïŒèªåã®ããã«ã¬ãŒã©ã³ããäœãã ãã§ãªãã Black Swiftããã³ã³ãã¥ãŒã¿ãŒã䜿çšããŠãããŒãã€ããå®å šã«ãããã§ãã·ã§ãã«ãªãã®ãŸã§ã®ããŸããŸãªãããžã§ã¯ããå®è¡ããæ¹æ³ã瀺ããéåžžã«ã·ã³ãã«ã§é«éã§ããããšã瀺ãããšã ããŸããŸãªèå³æ·±ãç¹ã«ã€ããŠã®è°è«ã亀ããªããã
ãã®ããã¹ãã¯ãããã°ã©ã ã®äœææ¹æ³ãå€å°ç解ããã¯ãã ããŠãæã«æã€ããšãã§ãã人ã察象ãšããŠããŸãããOpenWRTã§ããã³ã³ãã¥ãŒã¿ã«ã¢ãããŒãããåŽãè¬ã®ãŸãŸã§ãã ç¹ã«ãããã»ã¹å šäœãïŒäžèšã®ãã¬ãŒã ã¯ãŒã¯ãè¶ ããŠïŒç¹å¥ãªç¥èãç¹å¥ãªæ©åšïŒããã°ã©ããŒãã¢ããã¿ãŒãªã©ïŒãå¿ èŠãšããªããããæšæž¬ããŠã¿ãŸãããã
ããã¯ãã®ãããã¯ã®æåã®èšäºãªã®ã§ã3ã€ã®éšåã«åããŠã倧ããªã·ãŒãã衚瀺ãããªãããã«ããŸãã
- C / C ++ã§ã®OpenWRTçšã®ã¬ãŒã©ã³ããBlack Swiftæ¥ç¶ããã³ãã«ãç°å¢
- Cäžã®ãœãããŠã§ã¢ãGPIOããã³ãœãããŠã§ã¢PWMã§åäœ
- Web UIãšAndroidã¢ããª
ãªã¢ã«ã¿ã€ã ã§ã¯ã3ã€ã®éšåãã¹ãŠããé±æ«ãããžã§ã¯ããã®ãã¬ãŒã ã¯ãŒã¯ã«ç°¡åã«é©åããŸãã
ã ãããã¬ãŒã©ã³ãèªäœã æå¯ãã®åºèã®åæãã¯å€ãã£ãããæ²ãããããChip-i-Deepã®ãŠã§ããµã€ãã«ã€ãŸãããã®ã§ïŒããšãã°ãå®ãã¯ãããŸããã§ãããã12æ28æ¥ã«éžæè¢ã¯ã»ãšãã©ãããŸããã§ããïŒãç§ãèªåã§ãããã¯ãã ä»ãããããšã決ããŸããã
è±èŒªã®å Žåã0.2-0.3 sqãMmã®æé¢ç©ã®å€æ°ã®ã¯ã€ã€ãå€æ°ã®ãã«ãã«ã©ãŒLEDïŒç§ã¯160床ã®è§åºŠã®BetluxãéžæããŸãã -æãããåºè§ã§å€§ãããåãä»ããç°¡åã§ãïŒãããã³å€ãã®æµæåšãå¿ èŠã§ãã ãã ããLEDã®ååã®æ°ã®æµæããããŸããLEDã䞊åã«ãªã³ã«ããããšã«ãããããåãã¢ã«ã¯1ã€ã®æµæã®ã¿ãå¿ èŠã§ãã ããã«ãããã¬ãŒã©ã³ãã®ç®¡çãè€éã«ãªããŸãããã¯ã€ã€ã®æ°ãæžããŸãã
LEDã®èã¯ãã±ãŒã¹ã®åºéšã§90床å³ã«æ²ãã£ãŠããŸãïŒäžè¬çã«ããããè¡ãã¹ãã§ã¯ãããŸãã-ã±ãŒã¹ã¯ãã®ãããªè² è·ã¢ããªã±ãŒã·ã§ã³ã«äŸåããŸããããããªãèªèº«ãšãªã¹ã¯ãç解ãããšãLEDã®ãã¢ãå£ãããšãå¯èœã§ãïŒã è²ã®çµã¿åããã®èŠ³ç¹ããã ãã§ãªãããããã®Betluxã¢ãã«ã¯ç°ãªãLEDã¹ã€ããã³ã°æ¥µæ§ã«å¯ŸããŠç°ãªãè²ãæã£ãŠãããããéãšé»è²ãèµ€ãšç·ãçµã¿åããããšäŸ¿å©ã§ãã ãã®è²ã®çµã¿åããã«ãããåãçµè«ãçµã³ä»ããããæ··ä¹±ã軜æžãããŸãã
åãã¢ã«1ã€ã®æµæãã¯ãã ä»ããããå ¬ç§°å€ã¯æšæºR>ïŒU-2.5ïŒ/ 0.02ãšèŠãªãããŸããããã§ãUã¯ã¬ãŒã©ã³ãã®äŸçµŠé»å§ã2.5 Vã¯LEDã®ããããã®é»å§éäžã§ãïŒè²ã«ãã£ãŠç°ãªããŸãããç§ãã¡ã«ãšã£ãŠã¯å€§ããã§ãïŒç²ŸåºŠã¯å¿ èŠãããŸããïŒã0.02 Aã¯LEDãæµããæ倧é»æµã§ãã ã¬ãŒã©ã³ãã®é»æºã+5 Vã®å Žåãæµæã¯ãããã125ãªãŒã ã§ããæµæã130ãŸãã¯150ãªãŒã ã«ããŸãã å ·äœçã«ã¯ã1 kOhmã®æµæåšã®ããã°ãš15 Vã®é»æºãããããã15 Vããã¬ãŒã©ã³ãã«çµŠé»ããããŒãã«5 Vã®ã¹ã¿ãã©ã€ã¶ãŒãè¿œå ããŸãããããããè¡ãå¿ èŠã¯ãããŸããã
ã¬ãŒã©ã³ãã«ã¯80åã®LEDããããŸããïŒãããã§ã4è²ãã¹ãŠã1ã€ã®ããã°ã«æ³šãã§ããã芪åãªå£²ãæã§ãïŒïŒããã®ãã¡40åã¯åæã«äžŠè¡ããŠåäœã§ããŸããããã¯0.8 Aã®é»æµã§ããã€ãŸããæºåž¯é»è©±ãã5 In 1ãããŠå¹žãã«ååã
ã¯ã€ã€ãåæããå¥ãåããå¯å°ããç±åçž®ã§éããã ããã¯æãå¹³å¡ãªéšåã§ãã2ã€ã®ç¹ã ãã«æ³šæããŠãã ããããŸããäžå€®ã§ã³ã³ãã¢ãã«ãã«ä¹ã£ãŠããäžåœäººã®å¥³ã®åã®ããã«æããæ°ç§ã§æè¬ãå§ããŸãã次ã«ã2ã€ã®ç¬ç«ããæïŒèµ€ç·ãšéé»è²ïŒããã¬ãŒã©ã³ããäœããŸããã
ãã®çµæžæ§ã管çããã«ã¯ã4ã€ã®ããŒãããªããžãå¿ èŠã§ããåãã©ã³ãã«2ã€ãããé»æºLEDã®æ¥µæ§ãåãæ¿ããããã«å¿ããŠè²ãéžæããæ©èœãæäŸããŸãã 幞ããªããšã«ãL293Dã®ãããªãã°ããããããããããŸãããã®ãããã«ã¯ã4ã€ã®ããŒãããªããžãçµã¿ç«ãŠãããŠããŸãã
ã¹ããŒã ã¯æ¯èŒçäžè¬çã§ãïŒ
é»å§ã¬ãã«ã調æŽããã«ã¯ãå ¥åã«5ã€ã®ãã©ã³ãžã¹ã¿ïŒäœé»åN-MOSFETãé©ããŠããŸãïŒãå¿ èŠã§ãïŒBlack Swiftã¯+3.3 VãL293-+5 Vã§åäœããŸããååãšããŠãå Žåã«ãã£ãŠã¯ãåè·¯ã®3.3 Våºåã調æŽãªãã®5 Vå ¥åããã ã泚æïŒæåã«ãæåã®åºåã®é»å§ã1ãã2çªç®ãèªä¿¡ãæã£ãŠåãæ¿ããã®ã«ååã§ããããšã確èªããå¿ èŠããããŸãã2çªç®ã«éèŠãªããšã¯ã0以å€ã®å察æ¹åã«äœããªãããšã§ãã .3.3 Vã¯ã©ã®ãããªç¶æ³ã§ãå±ããŸããã
ãã€ã©ãã©ã«ãããã³ã°ã«ã¯ãç¹å¥ãªãã€ã¯ãåè·¯ããããŸãïŒãã ãããã©ã³ãžã¹ã¿ã«ã¯ãã€ã©ãã©ã«ã䜿çšã§ããŸãïŒããçåŽãããã³ã°ããããã«ã¬ã³ããŒã§ã¯æ¢ã«12æ29æ¥ã§ãããããæãæµ®ãã¶ããšãªãæåã«ééãããã©ã³ãžã¹ã¿ããè¡ããŸãã èå³ãããã°IRLML6344ããããŸããã
ãã¹ãŠããã¬ããããŒãã«å ¥ããŠãBlack Swiftãæ¥ç¶ããŸãã
éåžžã«ç°¡åãªæ¹æ³ã§æ¥ç¶ããŠããããšã«æ³šæããŠãã ããïŒã¯ã€ã€ã¯å¿ èŠãªGPIOãšé»åç·ã«ã¯ãã ä»ããããŠããã ãã§ãã æãæ®éçãªæ¹æ³ã§ã¯ãããŸããããéåžžã«ã·ã³ãã«ã§ä¿¡é Œæ§ã®é«ãæ¹æ³ã§ãã BSBçšã®å¥åã®ã¹ã¿ãã©ã€ã¶ãŒã¯å¿ èŠãããŸãã-L293Dãšåã+5 Vã§é§åã§ããŸãã
OpenWRTã®æºå
ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãCã§äœæããããããã«ãç°å¢ãå¿ èŠã§ãã æ®å¿µãªãããæšæºç°å¢-OpenWRT SDK-ã¯Linuxã§ã®ã¿æ©èœããŸãã幞ããCentOS 6ã§ããŒã ãµãŒããŒã䜿çšããŠããŸãã
1ã€ãŸãã¯åæ§ã®ãã®ãããå Žåã¯ãar71xxãã©ãããã©ãŒã çšã®æšæºSDKãããŠã³ããŒãããŠè§£åããã ãã§ãã x86-64ãã©ãããã©ãŒã å°çšã§ãã
Linuxãå€ã32ãããããã»ããµã§å®è¡ãããŠããå ŽåïŒå€ãã®äººãæã£ãŠããããšãç¥ã£ãŠããŸãïŒã32ãããçšã®SDKãåéããŸããã 圌ã¯ããã«ããŸãã
LinuxããŸã£ãããªãå Žåã¯ãCentOS 6ãã€ã³ã¹ããŒã«ãããåè¿°ã®SDKã§/ home / openwrt / Openwrt-SDK-BBãã©ã«ããŒã«æ¢ã«è§£åãããŠããOracle VirtualBoxã®ä»®æ³ãã·ã³ã®ã€ã¡ãŒãžãäœæããŸããã OSãšSDKã¯32ããããªã®ã§ãã»ãšãã©ãã¹ãŠã§åäœããŸãã ãã¹ã¯ãŒãã¯ãroot / openwrtããã³openwrt / openwrtã§ãã ãã¡ãããã®ç»åã§ãã
ãããã£ãŠãä»®æ³ãã·ã³ãããŠã³ããŒãããzipãã¡ã€ã«ãvdiã§è§£åããVirtualBoxãèµ·åããŠã32ãããLinuxçšã®æ°ããVMãäœæããæ¢åã®vdiãã¡ã€ã«ããã®ãã£ã¹ã¯ãšããŠæå®ããŸãã cd Openwrt-SDK-BBãéå§ãããŒããå®è¡ããŸã-ãããŠåºæ¥äžãããäœæ¥ã®æºåãæŽããŸããã
ã¢ã»ã³ããªçšã®ããã±ãŒãžã¯packagesãã£ã¬ã¯ããªã«ãããŸããããããŸã§ã®ãšãã空ã§ãã ããæ£ç¢ºã«ã¯ãå ã®ããŒãžã§ã³ã§ã¯ãããã±ãŒãžèªäœã¯ãããŸããããããã±ãŒãžã®ãœãŒã¹ã³ãŒãã®ããŠã³ããŒãå ã瀺ãMakefileã®ã¿ããããã¢ã»ã³ããªäžã«ããŠã³ããŒããã¢ã³ããã¯ãã³ã³ãã€ã«ãè¡ãããŸãã OpenWRTã®100ã®ãã«ãäŸã®ãã¡å°ãªããšã99ã¯ããã®ç¹å®ã®ã¹ããŒã ã説æããŠããŸãã
ç§ãã¡ã®å Žåãããã¯ããªãäžäŸ¿ã§ã-GitHubã§èªå®¶è£œã®ã¯ãªã¹ãã¹ã¬ãŒã©ã³ãã管çããããã«æåã«ããã°ã©ã ãã¢ããããŒãããããšã¯ã»ãšãã©ãããŸããã ãããã£ãŠããœãŒã¹ãã©ãããã§ãããŠã³ããŒãããã«ããã«äœ¿çšã§ããMakefileãäœæããŸãã
ãããã£ãŠããã¹ã¯æ¬¡ã®ããã«ãªããŸãã
ããã±ãŒãž/ããªãŒã©ã€ã-å ±æãã©ã«ããŒ
ããã±ãŒãž/ããªãŒã©ã€ã/ src-ããã°ã©ã ãœãŒã¹
ããã±ãŒãž/ããªãŒã©ã€ã/ Makefile-OpenWRTã®æé
çŸåšãOpenWRTçšã®MakefileãäœæããŠããŸãã ããã±ãŒãžã®ãã«ãæ¹æ³ã¯å¶åŸ¡ããŸãããããã¯ããã§ã«srcå ã«ããä»ã®makefileã®ããžãã¹ã§ããããã¯ãOpenWRTããã®åªããæ©èœã§äœããã¹ããã説æããŠããŸãã
include $(TOPDIR)/rules.mk # , , . PKG_* - . PKG_NAME:=treelights PKG_VERSION:=0.0.1 PKG_RELEASE:=1 # , . PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) include $(INCLUDE_DIR)/package.mk # # OpenWRT , , , # "Christmas tree lights controller", URL # DEPENDS - , # C, libstdc++ define Package/treelights SECTION:=base CATEGORY:=Utilities DEFAULT:=n TITLE:=Christmas tree lights controller URL:=http://black-swift.com DEPENDS:=+libstdcpp endef # . - , define Package/treelights/description Christmas tree lights controller endef # # 1. # 2. src define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) ./src/* $(PKG_BUILD_DIR)/ endef # , define Build/Configure $(call Build/Configure/Default,--with-linux-headers=$(LINUX_DIR)) endef # # 1. ( , ) # 2. # ( , -) - # define Package/treelights/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/treelights $(1)/usr/bin/ endef $(eval $(call BuildPackage,treelights))
ãã®ãããªMakefileãpackages / treelights /ã«é 眮ããããã°ã©ã ãœãŒã¹ãpackages / treelights / src /ã«é 眮ãããšãOpenWRT SDKãã©ã«ããŒã®ã«ãŒãããmake menuconfigãå®å šã«å®è¡ã§ããŸãã
ããã±ãŒãžæ§æã¡ãã¥ãŒãéããŸãããã®äžã«ã¯ãããã©ã«ãã§ãªãã«ãªã£ãŠããã¯ãªã¹ãã¹ããªãŒã©ã€ãcontroillerãŠãŒãã£ãªãã£ããããŸãã ã«ãŒãœã«ããã®äžã«çœ®ããã¹ããŒã¹ããŒãæŒããŸã-ãŠãŒãã£ãªãã£ã®åã«ããŒã¯ïŒMïŒã衚瀺ãããŸããããã¯ãå¥ã®ããã±ãŒãžã«ã¢ã»ã³ãã«ãããããšãæå³ããŸãã
menuconfigãçµäºããŠæ§æãä¿åããmake package / treelights / compileã³ãã³ãã§ããã±ãŒãžã®å®éã®ã¢ã»ã³ããªãéå§ããŸã
ãã¹ãŠãããŸããããšãæ°ç§åŸã«ãµããã£ã¬ã¯ããªãbin / ar71xx /ãã©ã«ããŒã«è¡šç€ºãããŸãããã®ãã©ã«ããŒã®ããã±ãŒãžã¯ipkãã¡ã€ã«ã«ãããŸãã ããããç§ãã¡ã«ãšã£ãŠäŸ¿å©ãªå Žæã«æã£ãŠè¡ããäŸãã°ãWinSCPã䜿çšããŠãå«ãŸããŠããBlack Swiftã«æ¥ç¶ãããã®ãã¡ã€ã«ãã³ããŒããŸãã ãæ°ã«å ¥ãã®SSHã¯ã©ã€ã¢ã³ããéããBSBã³ã³ãœãŒã«ã«æ¥ç¶ããŠopkg install trââeelights * ipkã³ãã³ããå®è¡ããŸãã ã»ãã®æ°ç§-ãããŠããªãã¯ããã°ã©ã ãå®è¡ããããšãã§ããŸããããã¯/ usr / bin / treelightsã«ãããåäœããæºåãã§ããŠããŸãã ããã°ã©ã ã®ã¢ã³ã€ã³ã¹ããŒã«-opkgã¯ããªãŒã©ã€ããåé€ããæŽæ°ããŸã-å床opkgãã€ã³ã¹ããŒã«ããæŽæ°ããåã«å€ãããŒãžã§ã³ãæåã§ã¢ã³ã€ã³ã¹ããŒã«ããå¿ èŠã¯ãããŸããã
ã¢ã»ã³ããªã倱æããå Žåã¯ãã³ãã³ãmake package / treelights / compile V = 99ã§å床å®è¡ããŸããããã«ãããã³ã³ãã€ã©ãŒã®è©³çŽ°ãªåºåããã¹ãŠã®ãšã©ãŒãšãšãã«è¡šç€ºãããŸãã
è€æ°ã®ããã±ãŒãžãåæã«ãã«ãããå¿ èŠãããå Žåãç¹å®ã®ããã±ãŒãžãæå®ããã«ãåã«makeãŸãã¯make V = 99ãšèšããŸãã menuconfigã«å«ãŸããŠãããã¹ãŠãåéãããŸãã make cleanã³ãã³ãã¯ãã¢ã»ã³ããªäžã«äœæãããäžéãã¡ã€ã«ãæ¶å»ããmake dirclean-äžéããã³æçµãã¡ã€ã«ãäœæããmake distcleanã¯ãã¹ãŠãæ¶å»ãããã©ã«ããŒãå ã®ç¶æ ã«æ»ããŸãã
OpenWRTã®ã¢ã»ã³ããªã«é¢ãããã®ä»ã®è©³çŽ°ã«ã€ããŠã¯ãå ¬åŒWebãµã€ããã芧ãã ãã ã