2014-09-01 39 views
0

我试图用外部设备连接django。我希望它每次使用时都注册NFC标签。我已经考虑使用额外的数据库和http通信(wget或python web客户端),但我想知道是否有更简单,更优雅的解决方案使用Django框架(如套接字或某种本地通信协议) 。将django与TCP/IP设备连接

+0

你能澄清一点吗?你想从Django的外部设备发生某些事情,或者当你在未连接到PC的设备上做某些事情时想触发某些Django视图? – 2014-09-01 14:38:47

+0

我想添加NFC事件到数据库(日期,NFC标签,设备ID)。外部设备只是带有TCP/IP的NFC标签阅读器。 – przemo 2014-09-01 14:50:32

+0

如果没有django,它将使用MYSQL套接字进行简单的SQL INSERT操作。 – przemo 2014-09-01 15:01:32

回答

0

Django是用Python编写的,你可以通过直接导入代码和调用方法来与任何Python库交互。 You only need to pass Django settings file as input

什么意思是编写一个Windows/Linux/OSX Python应用程序,它打开TCP/IP套接字,然后监听原始NFC阅读器协议事件(不知道NFC协议阅读器使用什么协议通过TCP/IP进行交互)。您的Python应用程序将直接在任何NFC阅读器协议事件上执行数据操作(Django模型,ORM部分)。

甚至有可能帮助侦听NFC协议的Python库。当你知道协议名称时,你可以检查PyPi和Google。

+0

为了澄清,你的建议是编写一个服务器应用程序,这将使用django库与数据库进行交互?是不是没有任何额外的编码apache(与Django)没有? – przemo 2014-09-01 17:56:23

+0

是的,但Apache(运行Django over mod_wsgi等)不会说原始的TCP/IP,它们会说HTTP。这就是为什么你需要创建一个独立的应用程序,能够无限期地保持并接受直接的TCP/IP连接。使用Apache,你不能这样做。 – 2014-09-01 18:03:06

+0

我想我刚刚回答了我自己的问题。设备可以使用http(http:/ device/insert?date = 2323423?tag = 23423)连接到django,并且url.py可以处理它:) – przemo 2014-09-01 18:03:40

1

在与@Mikko Ohtamaa聊天后,我意识到对我来说最好的“原生”解决方案是使用http(http:/ device/insert?date = 2323423?tag = 23423)并让url.py处理它,对于那些没有访问http客户端的人@Mikko Ohtamaa的解决方案是最好的选择。

+0

用https保护它会更容易 – przemo 2014-09-01 18:16:10