很久没写东西了……
最近翻出以前中学时候玩的《口袋怪兽·金》卡带,找出以前玩的黑白GameBoy,插上去,发现十多年前的游戏记录还在,当年跟朋友联机对战,交换过精灵,里面已经收集了245只,现在人老了,虽然手机有模拟器,已经不可能有那时候的激情。于是就想把数据提取出来看能不能到模拟器继续玩。淘宝搜了一下,果然有,叫gbc dump,不仅可以dump记录,连游戏的ROM也行,OK,我这张卡带还是简体中文版,网上还没找到过有简体中文的,刚好把ROM也搞出来……一看价格……208,尼玛,感觉好坑……如下图

这种东西一般都是根据老外的开源项目改的,去bing搜一下gbc dump,果然有类似的东西,用Arduino实现,还要一个SD卡模块用来保存。手头有个树莓派3,加个关键字raspberry一起搜,果然有!github上有个项目就是这个 https://github.com/abrugsch/GBCartSlurp

电路图,程序都有,可以直接把ROM和RAM保存成文件。看电路还是挺简单,用到两块MCP23017把卡带的32个pin转成I2C接到树莓派操作。

搜了一下淘宝,有现成的MCP23017模块卖,GB卡插槽也有,那就很简单了,买了如下两个东西:

插槽的32个pin用杜邦线连上两个I2C模块就ok了,剩下就是跑程序了。不过那32个pin最好做个转接板搞,不然直接焊接会把人搞到放弃,我焊接了一个多小时,主要是电烙铁不好用,期间多次想放弃直接花208元搞一个。



按照电路图连接好之后,像这样,注意看电路图配置一下两个I2C模块的硬件地址,不能一样!

查看安装说明,先启用树莓派的I2C接口,再在树莓派里编译程序,注意需要用到WiringPi,很简单,git一下该项目,make再make install一下就好了。GBCartSlurp程序的编译也很简单,不过这里有个坑,里面写的I2C的两个地址需要修改一下,我在这里耗了两个小时。确认硬件连接OK后打开树莓派,用命令sudo i2cdetect -y 1看一下两个I2C转接板的地址,如图

然后修改源码gbcartslurp.c 405和406行的mcpSetup把0x20和0x21改成上面对应的地址 gcc gbcartslurp.c -std=c99 -lwiringPi编译,没有出错的话会得到a.out可执行文件,直接./a.out运行,按一下4,回车,应该会出来ROM信息

如果没有,或者显示很多?的话,把两个I2C地址对调一下,重新编译运行应该就OK了!

按下1可以把ROM和RAM记录dump出来分别保存成gbc文件和sav文件,导出很慢很慢很慢,一个2MB左右的ROM要超过1个小时才能导出完毕。经过测试可以在模拟器上直接使用!

看到这画面我多激动你知不知道,知不知道……208块居然省下来了!!!!

电脑也可以……如果不能载入记录,需要把后缀名sav改为sa1

成本:i2C板一块12.5,gbc插槽8.00,不算树莓派……手头没有GBA的卡,没做测试,不过需要把5V供电改为3.3V,电路图有标注!

当年是多么有体跟四大天王打了200回……

小时候就想玩航模了,苦于那时候没钱……
现在娃子有了,想想再不完以后估计没那心思了……所以两个星期前脑袋抽风,找了朋友要了基础配置……花了1K多搞了这个,制作过程就没拍了,跟网上的差不多,拍一下成品。
 F450机架+朗宇2212 KV800电机+1147桨
 APM2.8飞控,事实证明不适合有娃的或者上了年纪的折腾,好在已经爽飞。GPS还没到手,依靠里面的气压计使用定高模式飞行,很稳,油门什么的交给飞控了,我实在操作不好油门,要么一口气上天要么一下子掉下来。
 电机和桨,这桨撞了几次墙和地板没断,问了朋友,说是交了几次学费后选择的……要是打到肉,画面会很唯美
 飞控和接收机的连接,接收机的电力来自飞控,每通道三根线,两根电源一根信号。入手这些设备前一直搞不懂。
 电池连接情况,使用XT60插头,朋友推荐,事实证明不错,主要是电流承受能力好。
 无刷电机,算了一下功率可以达到100W,比一般的电扇都大。焊接那香蕉插头遭到全家反对,说焊接产生的气体会影响孩子的健康,所以提着电烙铁去单位偷偷焊接,最后还接触不良,回家被赶出去楼道补焊,顺便说下,做四轴遭到全家反对,直到起飞后。
 Lumia 925微距不行,糊了……
GPS自动返航,途中遇到大风,降落后发现GPS松了

不懂有没朋友在这里读过书哈,话说拿着四轴在学校走很吸引眼球,航拍啥的就准备自己用703n路由器搞,配合自己编写的IP摄像头,用iPad查看录像,目前还没完成。

这篇文章在数码之家发过,图片来自那里,我的网站可以节约点空间和带宽😂😂

修改Wordpress

这个问题已经困扰我很久了,今天要在iPad上发一文章,发现拍的照片太大了,而Wordpress的图片编辑功能图片总是出不来,iPad又没好的APP可以改分辨率,索性开电脑排查错误。

先升级到4.1版,发现问题还在。然后就一条一条跟踪代码,在关键地方插入 var_dump 语句查看变量,终于在 文件 class-wp-image-editor-imagick.php (位于 /wp-includes )的 141行跟踪到 Exception,大概是给定的URL不能加载图片,然后在 dump URL,得到地址为 “saestor://wordpress/uploads”开头的URL,应该是Imagick不支持SAE的storage协议所致,看来不能使用Imagick而得改用gd。

解决办法很简单,改图片编辑器为gd即可,在 wp-includes下找到media.php,在第 2489行,找到 $implementations = apply_filters( ‘wp_image_editors’, array(  ‘WP_Image_Editor_Imagick’,’WP_Image_Editor_GD’ ) ); 改为 $implementations = apply_filters( ‘wp_image_editors’, array(  ‘WP_Image_Editor_GD’,’WP_Image_Editor_Imagick’ ) ); 即把GD作为优先使用的图像编辑器即可。

如下图所示,保存修改后,Wordpress即可恢复图像编辑功能。

修改Wordpress

当然Imagick的性能比GD好,只是懒得去了解如何用Imagick加载SAE的storage里面的图片,平常编辑GD足够了。注意:上面的代码行数可能因为版本不同而不同。

前几天漳州飙到30多度,感觉家里的路由猫很热,有点撑不住(基本上我一回去就有5,6台设备要连接,水星的路由猫),遂产生了加散热风扇的想法。

在不破坏外观的情况下,在底部添加了个风扇,12v的,路由器是9v供电,直接从适配器的电源线上截取,9v电压下风扇噪音很小

散热风扇

 

把路由器放到风扇上即可,运行了一天,路由器表面几乎不热。风扇在路由器底部

 

Openwrt官方的WNDR3700v4固件(14.07)不能完整利用128MB NAND的空间,刷完后只剩13MB了,网上说还有96MB左右空闲着,只能修改Makefile自己重新编译固件了,于是在Ubuntu上用官方的源编译了一天,加上网速慢,到下午4点都还没编译好。后来发现了有ImageBuilder,直接就能修改固件了,还能添加需要的ipk包进去(靠,白忙了一天……)

去Openwrt下载好 OpenWrt-ImageBuilder-ar71xx_nand-for-linux-x86_64.tar.bz2 放到 Ubuntu的home目录,提取出OpenWrt-ImageBuilder-ar71xx_nand-for-linux-x86_64这个文件夹,进入该文件夹 target/linux/ar71xx/image/ 修改Makefile文件,将wndr4300_mtdlayout=mtdparts=ar934x-nfc:256k(u-boot)ro,256k(u-boot-env)ro,256k(caldata),512k(pot),2048k(language),512k(config),3072k(traffic_meter),2048k(kernel),23552k(ubi),25600k@0x6c0000(firmware),256k(caldata_backup),-(reserved) 替换为 wndr4300_mtdlayout=mtdparts=ar934x-nfc:256k(u-boot)ro,256k(u-boot-env)ro,256k(caldata),512k(pot),2048k(language),512k(config),3072k(traffic_meter),2048k(kernel),121856k(ubi),123904k@0x6c0000(firmware),256k(caldata_backup),-(reserved)  保存,退出!此处参考 http://blog.csdn.net/magicdog2009/article/details/41628727

打开 终端,cd 到 OpenWrt-ImageBuilder-ar71xx_nand-for-linux-x86_64文件夹下,这时候 make image,即可产生可以支持128MB NAND的镜像,在bin文件夹下,不过这时候生成的镜像仅包含基本系统,没有Luci web界面,不方便使用。我是按照之前官方镜像自带的软件包去make新镜像的,命令如下:

make image PACKAGES=”base-files busybox dnsmasq dropbear firewall fstools hostapd-common ip6tables iptables iw iwinfo jshn jsonfilter kernel kmod-ath kmod-ath9k kmod-ath9k-common kmod-cfg80211 kmod-crypto-aes kmod-crypto-arc4 kmod-crypto-core kmod-gpio-button-hotplug kmod-ip6tables kmod-ipt-conntrack kmod-ipt-core kmod-ipt-nat kmod-ipt-nathelper kmod-ipv6 kmod-ledtrig-usbdev kmod-lib-crc-ccitt kmod-mac80211 kmod-nls-base kmod-ppp kmod-pppoe kmod-pppox kmod-slhc kmod-usb-core kmod-usb-ohci kmod-usb2 libblobmsg-json libc libgcc libip4tc libip6tc libiwinfo libiwinfo-lua libjson-c libjson-script liblua libnl-tiny libubox libubus libubus-lua libuci libuci-lua libxtables lua luci luci-app-firewall luci-base luci-i18n-chinese luci-lib-nixio luci-mod-admin-full luci-proto-ipv6 luci-proto-ppp luci-theme-bootstrap mtd netifd odhcp6c odhcpd opkg ppp ppp-mod-pppoe procd procd-nand swconfig ubi-utils uboot-envtools ubox ubus ubusd uci uhttpd uhttpd-mod-ubus wpad-mini”

很长,我懒得查哪些镜像有的哪些要添加的,直接上了,编译后

捕获

如果已经刷好Openwrt直接进Web界面刷 tar结尾固件,如果从原版系统,进web刷img结尾固件。

op

刷完后,128MB的空间全部释放出来,安装Python什么的都不是问题了,额,我是为了跑Python才折腾的,不是为了翻Q,跑跑自己写的代码做做智能家居玩玩。。