V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
paicha
V2EX  ›  问与答

通过什么硬件可以编程实时更新服务器状态?

  •  
  •   paicha · 2014-09-22 19:47:07 +08:00 · 3890 次点击
    这是一个创建于 3750 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有一个翘板开关,我需要远程检测里面的灯是否开了。

    我的思路是,在翘板上和墙壁之间分别贴两个东西,当拨动开关的时候,两个贴片互相接触,然后硬件检测到变化,联网更新服务器的状态为 True 。然后我就可以读取该状态来判断情况了。

    我没有硬件编程的经验,不知道具体用什么设备可以实现。所以来问问有经验的前辈们,谢谢了。
    38 条回复    2014-09-23 10:39:25 +08:00
    mhycy
        1
    mhycy  
       2014-09-22 20:06:06 +08:00   ❤️ 1
    一个单片机即可
    只不过你需要自行实现一整个网络协议栈....

    如果不用网络用一些比较方便可行的方式.
    那么你用IIC来传递信息好了.

    总的来说,还是需要一个单片机(无论形式)
    mhycy
        2
    mhycy  
       2014-09-22 20:09:39 +08:00
    其实有更便宜的方式...
    那就是把检测这个任务交给服务器来完成
    这样子只需要把检测的部分放在服务器端就好了~
    电子继电器来轮询还是别的方式随便你怎么弄
    paicha
        3
    paicha  
    OP
       2014-09-22 20:09:43 +08:00
    @mhycy 嗯嗯,我现在也在搜索单片机的资料。完全是一个没接触过的领域……
    mhycy
        4
    mhycy  
       2014-09-22 20:10:50 +08:00
    @paicha 首先你的物料预算是多少,单片机本身的预算是多少.具体使用的时候想达到一个怎样的效果

    要便宜,而且你的产量足够大的话,单片机完全可以是定制的.也就几块钱成本
    paicha
        5
    paicha  
    OP
       2014-09-22 20:11:34 +08:00
    @mhycy 只能想到,控制旧路由电源,然后局域网机器不断 Ping ,不通就切换状态……哈哈,这样路由要烧
    paicha
        6
    paicha  
    OP
       2014-09-22 20:12:09 +08:00
    @mhycy 200以下吧。就是可以实时查询开关状态。
    mhycy
        7
    mhycy  
       2014-09-22 20:12:33 +08:00
    200....你可以把这个检测做成无线版的了
    mhycy
        8
    mhycy  
       2014-09-22 20:13:09 +08:00
    局域网机器不段的ping?就不能让插座主动push过去么
    paicha
        9
    paicha  
    OP
       2014-09-22 20:13:14 +08:00
    @mhycy 只是个人兴趣,用于解决生活遇到的问题,并不需要量产。
    paicha
        10
    paicha  
    OP
       2014-09-22 20:14:06 +08:00
    @mhycy 插座主动push过去是什么意思……
    mhycy
        11
    mhycy  
       2014-09-22 20:14:41 +08:00
    有线\无线\使用方式
    电路电压\尺寸
    功耗要求
    装设位置布局要求

    都需要考虑
    mhycy
        12
    mhycy  
       2014-09-22 20:15:16 +08:00
    @paicha 你都做成智能版的了,把服务器地址写入到插座让插座自己提交信息就好了,不需要服务器主动查询
    mhycy
        13
    mhycy  
       2014-09-22 20:16:18 +08:00
    这货的成本与你要达到多少可靠度息息相关
    paicha
        14
    paicha  
    OP
       2014-09-22 20:18:14 +08:00
    @mhycy

    有线与无线都可以,不过安装位置就在路由旁边,而且有插板。功耗不会超过路由器就好……装设可以轻易拆卸不影响环境就好。

    你说的「让插座自己提交信息太高端」了……简单弄个小装置就好,几十块钱解决最好啦。我没想到 200 元预算可以那么高级……
    mhycy
        15
    mhycy  
       2014-09-22 20:21:33 +08:00
    @paicha 几十块钱如果制作得当也能做到插座自行提交信息这一点...
    别想复杂了,就是一个通电触发,接收端7*24开机被动接受的过程而已

    硬件制作和软件开发某些时候很类似的.别想复杂
    几十块钱不知道这个几是多少.难点就在于你的服务端用哪种方式接收信息而已
    GPIO/SPI/SSI/IIC/LAN/红外/其他无线协议
    不同方式成本不一样开发难度不一样.
    paicha
        16
    paicha  
    OP
       2014-09-22 20:24:45 +08:00
    @mhycy 我的思路是,硬件检测到开关切换,就自动请求服务器的URL,然后服务器储存状态,我就可以实时去查询服务器知道现在的开关状态。
    paicha
        17
    paicha  
    OP
       2014-09-22 20:25:38 +08:00
    @mhycy 用网线接口就比较方便,如果可以的话。应该就是你说的 LAN 吧
    mhycy
        18
    mhycy  
       2014-09-22 20:26:18 +08:00   ❤️ 1
    这是最理想的结果,也是成本最高的结果...
    的确可以这么做,但是,成本非常高昂....

    有兴趣细聊的话可以加Q...
    三六四五零零三五六
    paicha
        19
    paicha  
    OP
       2014-09-22 20:26:20 +08:00
    @mhycy 通电触发一次,断电触发一次。
    gamexg
        20
    gamexg  
       2014-09-22 20:46:23 +08:00   ❤️ 1
    220V 继电器输入部分和灯并在一起,输出部分接单片机IO口和单片机地线。然后随便找一个单片机轻触开关+串口通信的例子,把轻触开关换成继电器就OK了。
    mhycy
        21
    mhycy  
       2014-09-22 21:06:16 +08:00
    @gamexg 简单粗暴+靠谱实用
    paicha
        22
    paicha  
    OP
       2014-09-22 21:09:04 +08:00
    @gamexg 但是灯不能去改装……开关和线路都是不是自家东西,哈哈
    wzzyj8
        23
    wzzyj8  
       2014-09-22 21:09:21 +08:00   ❤️ 1
    http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/
    https://www.quirky.com/shop/609

    不知道是不是楼主要找的东西,现在国外成型的解决方案还是很多的,就是售价比较高,建议可以参考一下
    loading
        24
    loading  
       2014-09-22 21:29:40 +08:00
    没人提树莓派就不正常!
    izoabr
        25
    izoabr  
       2014-09-22 21:37:15 +08:00   ❤️ 1
    用树莓派都浪费
    Arduino,跷跷板,地端和跷跷板一端分别接一个PIN,一个INPUT一个OUTPUT,OUT引脚一直给上电位,然后下个中断去检测INPUT引脚的电位,有变化就通过串口或者网络http去通知.
    paicha
        26
    paicha  
    OP
       2014-09-22 21:40:35 +08:00
    @izoabr 嘻嘻,@mhycy 也私聊跟我提到了 Arduino 这个。
    mhycy
        27
    mhycy  
       2014-09-22 21:44:50 +08:00   ❤️ 1
    @izoabr @loading @wzzyj8 @gamexg
    他的真实需求就是判断一下厕所有没有人而已....
    anjunecha
        28
    anjunecha  
       2014-09-22 21:45:44 +08:00 via Android
    这个去弄一个简单的51单片机就可以搞定了,树莓派和Arduino都已经可以相当于是微电脑了
    izoabr
        29
    izoabr  
       2014-09-22 21:48:29 +08:00
    @mhycy @loading @wzzyj8 @gamexg 那咱都散了吧....

    你弄个摄像头,对着厕所门,拍照,用软件判断吧.
    paicha
        30
    paicha  
    OP
       2014-09-22 21:49:58 +08:00
    @izoabr 情况不允许,我也是考虑了很多才打算用翘板开关判断的。
    ooxxcc
        31
    ooxxcc  
       2014-09-22 21:52:42 +08:00
    路由器刷openwrt然后控制个led灯?
    GeekGao
        32
    GeekGao  
       2014-09-23 00:11:54 +08:00   ❤️ 1
    AMTEL的方案,比如Arduino之流,配上wifi模块,量产几十块完全是可能的
    GeekGao
        33
    GeekGao  
       2014-09-23 00:16:25 +08:00
    wifi还是算了,还是配蓝牙模块吧,价格很低的
    davidli
        34
    davidli  
       2014-09-23 01:05:17 +08:00   ❤️ 1
    嗯, 开发一个厕所预约系统
    ipconfiger
        35
    ipconfiger  
       2014-09-23 01:31:34 +08:00   ❤️ 1
    如果不想在家里埋一大堆线网的话,就需要用zigbee的方案,支持一定距离,省电,且模块不贵,阿里的保价在20~30之间
    ctexlive
        36
    ctexlive  
       2014-09-23 03:37:21 +08:00   ❤️ 1
    两个方向:
    1. 开关按下主动发送信号,服务端(pc端)被动接受信号,来判断。这个需要改造开关使得支持串口、以太网协议。
    2.直接采集信号。比如采集电压值。你只要买个模拟量输入的电压传感器即可。或者直接检测220V电压或者通过继电器

    翘板开关按下发出网络信号,那你改造开关的难度就会比第二种方案高。-----------
    mengzhuo
        37
    mengzhuo  
       2014-09-23 10:00:43 +08:00   ❤️ 1
    大家都没有提到电力网络?
    以太网方便管理设备,加上UPNP,简直就是未来~
    就差几个硬件工程师和代工厂了~
    zhujinliang
        38
    zhujinliang  
       2014-09-23 10:39:25 +08:00   ❤️ 1
    买一个能刷 openwrt 的最便宜的路由器,从此基础上改造,可能你还需要光耦,电阻若干。openwrt 里可以读取 io 状态,写个脚本定时检测或者搞个 hotplug 脚本就欧了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2833 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:23 · PVG 21:23 · LAX 05:23 · JFK 08:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.