sl4a库_SL4A客户端Python服务器(SL4A client Python server)
SL4A客户端Python服务器(SL4A client Python server)
概要
我想在Android Phone作为客户端和Python作为服务器之间建立蓝牙连接。 请帮帮我,我无法弄清楚。 服务器端必须在PC上使用Python。 我需要Python代码作为服务器,而Sl4A可以连接到这台PC。 我尝试了很多代码,但没有让它工作。
SL4A Bluetooth_chat.py
import android
import time
droid = android.Android()
droid.toggleBluetoothState(True)
droid.dialogCreateAlert('Be a server?')
droid.dialogSetPositiveButtonText('Yes')
droid.dialogSetNegativeButtonText('No')
droid.dialogShow()
result = droid.dialogGetResponse()
is_server = result.result['which'] == 'positive'
if is_server:
droid.bluetoothMakeDiscoverable()
droid.bluetoothAccept()
else:
droid.bluetoothConnect()
if is_server:
result = droid.dialogGetInput('Chat', 'Enter a message').result
if result is None:
droid.exit()
droid.bluetoothWrite(result + '\n')
while True:
result = droid.dialogGetInput('Chat', 'Enter a message').result
if result is None:
break
droid.bluetoothWrite(result + '\n')
droid.exit()
我的答案
import requests
from bluetooth import *
server_sock=BluetoothSocket( RFCOMM )
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)
port = server_sock.getsockname()[1]
uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"
advertise_service( server_sock, "SampleServer",
service_id = uuid,
service_classes = [ uuid, SERIAL_PORT_CLASS ],
profiles = [ SERIAL_PORT_PROFILE ],
# protocols = [ OBEX_UUID ]
)
print("Waiting for connection on RFCOMM channel %d" % port)
client_sock, client_info = server_sock.accept()
print("Accepted connection from ", client_info)
try:
while True:
data = client_sock.recv(1024)
if len(data) == 0: break
print("received [%s]" % data)
params=userdata)
except IOError:
pass
print("disconnected")
client_sock.close()
server_sock.close()
print("all done")
Summary
I want a Bluetooth connection between an Android Phone as client and Python as server. Please help me I can't figure it out. Server side must be on PC with Python. I need Python code as server and Sl4A can connect to this PC. I tried a lot of code but didn't get it to work.
SL4A Bluetooth_chat.py
import android
import time
droid = android.Android()
droid.toggleBluetoothState(True)
droid.dialogCreateAlert('Be a server?')
droid.dialogSetPositiveButtonText('Yes')
droid.dialogSetNegativeButtonText('No')
droid.dialogShow()
result = droid.dialogGetResponse()
is_server = result.result['which'] == 'positive'
if is_server:
droid.bluetoothMakeDiscoverable()
droid.bluetoothAccept()
else:
droid.bluetoothConnect()
if is_server:
result = droid.dialogGetInput('Chat', 'Enter a message').result
if result is None:
droid.exit()
droid.bluetoothWrite(result + '\n')
while True:
result = droid.dialogGetInput('Chat', 'Enter a message').result
if result is None:
break
droid.bluetoothWrite(result + '\n')
droid.exit()
MY ANSWER
import requests
from bluetooth import *
server_sock=BluetoothSocket( RFCOMM )
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)
port = server_sock.getsockname()[1]
uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"
advertise_service( server_sock, "SampleServer",
service_id = uuid,
service_classes = [ uuid, SERIAL_PORT_CLASS ],
profiles = [ SERIAL_PORT_PROFILE ],
# protocols = [ OBEX_UUID ]
)
print("Waiting for connection on RFCOMM channel %d" % port)
client_sock, client_info = server_sock.accept()
print("Accepted connection from ", client_info)
try:
while True:
data = client_sock.recv(1024)
if len(data) == 0: break
print("received [%s]" % data)
params=userdata)
except IOError:
pass
print("disconnected")
client_sock.close()
server_sock.close()
print("all done")
原文:https://stackoverflow.com/questions/36358930
更新时间:2020-02-17 09:37
最满意答案
尝试使用Google发布的SL4A和ACTS:
SL4A位置: aosp_root/external/sl4a
ACTS测试框架位置: aosp_root/tools/test/connectivity
在测试框架内有一个测试用例,可以帮助您了解BT
通过SPP进行测试: aosp_root/tools/test/connectivity/tests/google/bt/SppTest.py
Try using SL4A and ACTS that Google released:
SL4A location: aosp_root/external/sl4a
ACTS Test Framework Location: aosp_root/tools/test/connectivity
Within the test framework there is a testcase that can give you a start on BT
testing over SPP: aosp_root/tools/test/connectivity/tests/google/bt/SppTest.py
2016-05-04
相关问答
用SD卡啊。 复制到卡上,然后用文件管理器打开就可以了。 我以前在android, symbian上都安装过python。不过android上的python只是偶尔用过几次。
好的,所以我很难找到一个droid命令来写文件。 标准的Python open,write,read,close命令工作正常。 Ok, so I was silly to look for a droid command to write files. The standard Python open, write, read, close commands work fine.
我想你要把你的脚本嵌入一个apk上才行,看看维基吧: http://code.google.com/p/android-scripting/wiki/SharingScripts#Scripts_as_APKs
我决定写我自己的(见下面供参考)。 这可能会变得更好,欢迎任何建议。 import android, os, time
droid = android.Android()
# Specify root directory and make sure it exists.
base_dir = '/sdcard/sl4a/scripts/'
if not os.path.exists(base_dir): os.makedirs(base_dir)
def show_dir(path=base_
...
看来你需要的是蓝牙外观。 以下是一些可能对您有帮助的蓝牙命令: bluetoothAccept
bluetoothActiveConnections
bluetoothConnect
bluetoothDiscoveryCancel
bluetoothDiscoveryStart
bluetoothGetConnectedDeviceName
bluetoothGetLocalAddress
bluetoothGetLocalName
bluetoothGetRemoteDeviceName
bl
...
由于Android内核中缺少驱动程序, pyserial无法正常工作。 然而, sl4a内置USB主机串行支持,具有良好的兼容性 ( 此处为示例代码 )。 pyserial is not working due to missing drivers in the Android kernel. However sl4a has builtin USB Host Serial support with good compatibility (example code here).
首先将name值包装在按钮的引号中: TEST
其次,您需要将该button (以及任何其他输入)包装在该isset($_POST['test'])的表单中isset($_POST['test']) ,以便按预期提交:
...
在Python客户端中:您的提示包含\n但输入的结果不是? 尝试添加一个\n在发送之前进行test 。 In the Python client: Your prompt contains a \n but the result from input does not? Try adding a \n to test before sending.
尝试使用Google发布的SL4A和ACTS: SL4A位置: aosp_root/external/sl4a ACTS测试框架位置: aosp_root/tools/test/connectivity 在测试框架内有一个测试用例,可以帮助您了解BT 通过SPP进行测试: aosp_root/tools/test/connectivity/tests/google/bt/SppTest.py Try using SL4A and ACTS that Google released: SL4A lo
...
看看Python龙卷风http://www.tornadoweb.org/ 。 它实际上是一个非阻塞的Web服务器,并且您有一个WebSocketHandler对象,它可能对您想要执行的操作非常有用。 http://www.tornadoweb.org/en/stable/websocket.html 问候 have a look on Python tornado http://www.tornadoweb.org/. It is in fact a non-blocking webserver
...
sl4a库_SL4A客户端Python服务器(SL4A client Python server)相关推荐
- 虚拟机在客户端和服务器之间存在时间,Server 2012 Domain Controller上出现“客户端和服务器之间存在时间和/或日期差异”错误...
是什么导致Server 2012设置BIOS时钟? 好吧,这就是它的作用. Linux也这样做,但是是的,您的操作系统可以并且将设置实时时钟以匹配其认为的时间. Regarding fixing th ...
- websocket客户端和服务器开发总结
文章目录 前言 一.websocket资料 1.什么是websocket 2.websocket优缺点 3.WebSocket 原理 4.WebSocket 源码下载 二.客户端 1.开发 2.测试 ...
- socket编程-客户端向服务器发送字符串,传文件
功能:分为客户端和服务器,client可向server传送字符串,传送文件. 环境:Ubuntu 编译方法: server.c: gcc –o server server.c client.c: ...
- Linux C语言实现TCP客户端与服务器
本文中的TCP server 和 client,为基于软件层面(TCP/IP协议栈)的Socket应用开发. 一.Socket 套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可 ...
- 【愚公系列】2022年01月 MinIO文件存储服务器-客户端创建和桶操作(Python版)
文章目录 一.python对接MinIO 1.首先执行命令安装包 2.创建客户端 3.桶操作 3.1 创建桶 3.2 查询桶 3.2.1 查询桶和判断桶是否存在 3.2.2 列出桶的对象信息 3.3 ...
- python常用单词读法-Python中常用英文单词大全
原标题:Python中常用英文单词大全 application 应用程式 应用.应用程序 application framework 应用程式框架.应用框架 应用程序框架 architecture 架 ...
- jvm 参数-server_JVM选项:-client vs -server
jvm 参数-server 您是否曾经在运行Java应用程序时想知道-client或-server开关是什么? 例如: javaw.exe -client com.blogspot.sdoulger. ...
- JVM选项:-client vs -server
您是否曾经在运行Java应用程序时想知道-client或-server开关是什么? 例如: javaw.exe -client com.blogspot.sdoulger.LoopTest 也显示在j ...
- python3socket非阻塞_利用Python中SocketServer 实现客户端与服务器间非阻塞通信
利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信. 首先,先了解下SocketServer模块中可供使用的类: BaseServer:包含服务器的核心功能与混合(mix-in ...
- pythontcp服务器框架_tcp服务器简单框架-python客户端
tcp服务端为C++代码,在Windows下实现,代码如下: // a TCP Server #define WIN32_LEAN_AND_MEAN #define _WINSOCK_DEPRECAT ...
最新文章
- LeetCode---------Longest Substring Without Repeating Characters解法
- 【Android开发日记】第一个任务Android Service!Service靴+重力感应器+弹出窗口+保持执行...
- 有三AI第一批10个研究小组上线
- 项目管理中可能有的问题,以及如何去面对!
- 算法代码_Python进化算法之多目标优化与代码实战
- iOS开发之Masonry框架-使用方法须知
- C语言(CED)输入一个任意长度的正整数,将该数逆序输出。
- WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行
- 【LeetCode】开始LeetCode的第一题offer03
- java生成图表_java实现将数据生成图表至excel导出
- 8个成语接龙首尾相连_成语接龙该怎么接?每组开头有一个成语,要接龙,每一个词的末尾都是下一个词的开头,从 来日方长 到 取之不尽,中间要填8个...
- 好家伙!微软苏州 M365,上班时间打王者荣耀?
- C# Entity单条件查询与多条件查询
- EasyExcel注解方式校验数据行
- 世界各国大城市GDP排名
- 466. 回文日期 Java题解 (模拟)
- 十一道家常小菜详细攻略[图文并茂]
- java毕业实习报告范文3篇
- 安装ps显示无法连接到adobe服务器,Adobe系列软件Photoshop安装时提示“安装完成,下列产品的某些项目无法成功安装”错误的原因及解决方法...
- Python 列表解析 大文件
热门文章
- 计算机处理器性能排名,2020最新电脑cpu性能天梯图_i5i7i9处理器性能排行榜介绍...
- 应届生产品助理/经理面试,应当多谈点什么?
- 【经典】产品人面试中的一些软回答~~
- SSD模型物体检测(水下生物识别)
- ibus mozc 日文输入法
- 《七哥说道》第八章:约在410,北漂可还行?
- 空间相关性(1)——莫兰散点图
- 互联网中B端客户和C端客户的区别
- LeetCode 430. Flatten a Multilevel Doubly Linked List【链表/DFS/递归/迭代】中等
- 计算机文件丢失不能正常启动,电脑说文件丢失或损坏开不了机怎么办?